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

執行速度的問題

 
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-17 19:39:31 IP:61.229.xxx.xxx 未訂閱
最近遇到一些疑問, 一、一般來說同一個Table使用TTable or TQuery哪個會比較快呢? 二、假設有兩個Table,一個Table的欄位有十個,一百個Row,另一個Table的欄位有五十個,二十個Row,假設兩個Table佔用的硬碟空間一樣,當我們使用元件連結時,哪個速度會比較快 三、有沒有知道在哪些動作時,元件使用較多的時間在處理上
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-17 22:02:36 IP:203.217.xxx.xxx 未訂閱
引言: 最近遇到一些疑問, 一、一般來說同一個Table使用TTable or TQuery哪個會比較快呢? 二、假設有兩個Table,一個Table的欄位有十個,一百個Row,另一個Table的欄位有五十個,二十個Row,假設兩個Table佔用的硬碟空間一樣,當我們使用元件連結時,哪個速度會比較快 三、有沒有知道在哪些動作時,元件使用較多的時間在處理上
要看你的程式架構 若為local database(1 Tier), 例如Dbase或Paradox等使用TTable最快 若為Client Server, 則應使用TQuery, 速度取決於資料量,永遠只選取須要之資料. 由於Tquery之取資料有Buffer, 故即使你取十萬row, 實際上依buffer之大小可能只傳來20Row, 就已顯示出來, 但如果你呼叫了locate或移至最後一筆則所有資料均須傳至前端. 只有20筆資料是分不出來的
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-07-18 21:38:41 IP:61.229.xxx.xxx 未訂閱
謝謝你的回應, 你的意思是說,速度的快慢取決於curser抓了多少Row? 另外你提到了buffer,那麼跟欄位多寡是否也有關係?
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-07-18 22:30:19 IP:211.23.xxx.xxx 未訂閱
引言: 謝謝你的回應, 你的意思是說,速度的快慢取決於curser抓了多少Row? 另外你提到了buffer,那麼跟欄位多寡是否也有關係?
一般來說在bde中設定的最大buffer是2048k,可以這樣去換算可以抓回多少筆資料 @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
Wesly
中階會員


發表:14
回覆:103
積分:53
註冊:2002-05-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-07-19 11:38:41 IP:211.22.xxx.xxx 未訂閱
如果您用的是資料庫, 如MSSQL, DB2 等等, 我強列建議你用TQuery, 而不要用TTable。 因為TTable會將您的後端資料庫全部帶回, 而TQuery會依照您的條件去帶回資料集。 但若為桌上型資料庫, 如Paradox, Database等等, 則用TTable較好, 雖然資源吃的較重, 但程式比較好寫。
系統時間:2024-04-29 12:55:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!