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

請教一個關於讀取資料表速度問題

缺席
BIG-ROM
初階會員


發表:94
回覆:91
積分:37
註冊:2005-04-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-20 21:06:06 IP:59.36.xxx.xxx 未訂閱
請教當同一資料表被打開三次或更多次的時候(每次都是按不同條件進行查找相應資料的),窗體運行讀取資料時就會減慢了速度,請問這是什麼原因?你們會出現過這樣的情況嗎?具體解決方法能否提供一下參考?感謝!    寫程序——新問題會接踵而來!
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-21 08:17:03 IP:61.224.xxx.xxx 未訂閱
BIG-ROM您好 程式會慢的原因很多,是不是撈資料下的條件區間太大,以致於資料量大? 還是程式邏輯上的錯誤,處理資料時格外的久? 以上只是憶測, 如果您能提供更具體的程式碼或出問題的點, 大家幫你會比較有方向
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-22 10:03:42 IP:61.71.xxx.xxx 未訂閱
引言: 請教當同一資料表被打開三次或更多次的時候(每次都是按不同條件進行查找相應資料的),窗體運行讀取資料時就會減慢了速度,請問這是什麼原因?你們會出現過這樣的情況嗎?具體解決方法能否提供一下參考?感謝! 寫程序——新問題會接踵而來! 發表人 - BIG-ROM 於 2005/04/21 05:40:00
你未告知我們你使用的是那一種資料庫系統, DB, MySql, InterBase, MS-SQL... 一般的Client/Server結構資料庫比較少有你提到的這樣狀況, 但假設你的資料庫是放在A台電腦, 然後在A台電腦執行這樣的動作, 如果本身的電腦的記憶體不足的, 是有可能發生的, 因為你下載了3次的查閱, 每一次都會存在於記憶體中, 萬一記憶體不足使用時, 系統自動會以分頁檔(XP/2000)或SWP檔(WIN95/98)來充當記憶體使用, 這時WIN要把資料下載到HD上當然速度一定會拖下來(RAM與HD的速度何者為快你應該清楚的), 不妨嘗試加大記憶體再來查看速度是否有拉回 另一種原因就是你三次下載的查詢回傳量不一定, 回傳量大的一定影響到速度
BIG-ROM
初階會員


發表:94
回覆:91
積分:37
註冊:2005-04-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-22 12:00:30 IP:61.145.xxx.xxx 未訂閱
感謝您提醒,但我使用的是Access的MDB,但速度是否跟打開資料表的次數有關而影響運行的速度?    
引言:
引言: 請教當同一資料表被打開三次或更多次的時候(每次都是按不同條件進行查找相應資料的),窗體運行讀取資料時就會減慢了速度,請問這是什麼原因?你們會出現過這樣的情況嗎?具體解決方法能否提供一下參考?感謝! 寫程序——新問題會接踵而來! 發表人 - BIG-ROM 於 2005/04/21 05:40:00
你未告知我們你使用的是那一種資料庫系統, DB, MySql, InterBase, MS-SQL... 一般的Client/Server結構資料庫比較少有你提到的這樣狀況, 但假設你的資料庫是放在A台電腦, 然後在A台電腦執行這樣的動作, 如果本身的電腦的記憶體不足的, 是有可能發生的, 因為你下載了3次的查閱, 每一次都會存在於記憶體中, 萬一記憶體不足使用時, 系統自動會以分頁檔(XP/2000)或SWP檔(WIN95/98)來充當記憶體使用, 這時WIN要把資料下載到HD上當然速度一定會拖下來(RAM與HD的速度何者為快你應該清楚的), 不妨嘗試加大記憶體再來查看速度是否有拉回 另一種原因就是你三次下載的查詢回傳量不一定, 回傳量大的一定影響到速度
寫程序——新問題會接踵而來!
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-22 22:50:20 IP:61.71.xxx.xxx 未訂閱
引言: 感謝您提醒,但我使用的是Access的MDB,但速度是否跟打開資料表的次數有關而影響運行的速度?
並不是說打開次數與速度有絶對關係, 指的是你分別開三次所設定的條件不同, 當然讀入的資料量也就不同, 讀入資料量越大就越需要更多的記憶體空間來存放, 如果你的pc不足以應付的話, windows會利用hd來做暫存, 所以速度就會慢下來, 如果假設你是開一次查詢就關閉才再開第二次, 依此類推, 理論上在第一次查詢關閉後, window應該要釋放這次所佔的記憶體, 但我們都知道window處理記憶區塊並不是令人很滿意, 所以你不斷的開啟, 查詢, 關閉, 開啟..., 記憶體會越來越少, 除非你重開機, 當然整體還要看你如何撰寫這段, 是否有瑕疵等等...
系統時間:2024-07-26 8:36:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!