請教DBF或DB的Table取RecordCount速度問題 |
答題得分者是:danny
|
Clarinet
高階會員 ![]() ![]() ![]() ![]() 發表:9 回覆:97 積分:126 註冊:2002-05-08 發送簡訊給我 |
請教各位前輩:
有沒有什麼辦法可以快速的取出*.DBF或*.DB內的資料筆數。 取幾百萬筆的資料時,用RecordCount大約花 3~4分,下SQL語法取大約需5分。
若開啟後,先下Last,再取RecordCount所花的時間,約4~5分,但這樣的反應時間覺得很慢。 若資料量很大時,用RecordCount取資料筆數,相對的時間非常的久,有什麼更好的方法可以快速的取得其資料筆數嗎? 謝謝! GPS(全球衛星定位系統)
http://www.allgps.com
------
GPS(全球衛星定位系統) http://www.allgps.com |
danny
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: 請教各位前輩: 有沒有什麼辦法可以快速的取出*.DBF或*.DB內的資料筆數。 取幾百萬筆的資料時,用RecordCount大約花 3~4分,下SQL語法取大約需5分。 若開啟後,先下Last,再取RecordCount所花的時間,約4~5分,但這樣的反應時間覺得很慢。 若資料量很大時,用RecordCount取資料筆數,相對的時間非常的久,有什麼更好的方法可以快速的取得其資料筆數嗎?SQL 可以用 count 對 Key Fields 算筆數比較快吧! .DBF 的格式我知道, 不過 .DB 我就不曉得了 .DBF 的筆數資料是放在檔頭第 9~12Byte處 他是16進位的值, 您要再轉成10進位
------
將問題盡快結案也是一種禮貌! |
Clarinet
高階會員 ![]() ![]() ![]() ![]() 發表:9 回覆:97 積分:126 註冊:2002-05-08 發送簡訊給我 |
引言: SQL 可以用 count 對 Key Fields 算筆數比較快吧! .DBF 的格式我知道, 不過 .DB 我就不曉得了 .DBF 的筆數資料是放在檔頭第 9~12Byte處 他是16進位的值, 您要再轉成10進位感謝前輩提供的資料。 以UltraEdit開啟之後, 由右至左算起 .DBF 的筆數資料是在檔頭的9~12Byte .DB 的筆數資料是在檔頭的7~10Byte 由左至右算的話, .DBF 的筆數資料是在檔頭的4~7Byte .DB 的筆數資料是在檔頭的6~9Byte 測試的Paradox資料表為Paradox 7, 而.DBF為VFP的資料表,版本的話,就不知了! [結論] 若是要取整個資料表的總筆數的話,以這樣的方式的確比直接呼叫RecordCount的方式快很多。 但可能會限制於各資料表的版本不同而位於不同的位置! 若要取出此資料表中某些符合條件的資料筆數時,就無法用此方法了,目前只知還是只能由RecordCount來取得,但這個速度實在是太慢了! 再次感謝前輩提供解答! 謝謝! GPS(全球衛星定位系統) http://www.allgps.com
------
GPS(全球衛星定位系統) http://www.allgps.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |