全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1360
推到 Plurk!
推到 Facebook!

請教DBF或DB的Table取RecordCount速度問題

答題得分者是:danny
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-24 11:14:55 IP:61.66.xxx.xxx 未訂閱
請教各位前輩: 有沒有什麼辦法可以快速的取出*.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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-24 11:55:30 IP:211.76.xxx.xxx 未訂閱
引言: 請教各位前輩: 有沒有什麼辦法可以快速的取出*.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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-24 17:30:58 IP:61.66.xxx.xxx 未訂閱
引言: 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
系統時間:2024-06-29 4:45:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!