資料庫 存圖檔的問題 |
|
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
1.不要用 select * from xxx , 改用 select 要的欄位 from xxx
2.請加上 where 條件縮小記錄範圍, 例如 where 條件出來有 10筆, 那 100K*10 與 5K * 10 , 你認為那一種開啟速度較快, 一般QUERY在開啟時, 如果沒有指定範圍, 系統是會將全部資料下載到呼叫端再執行 3.將 QUERY連結到一組 DBGRID 上, 因為我測試的結果, DBGRID 設定20列時, QUERY開啟首次會下載近似該量的記錄顯示在DBGRID上(即使不使用WHERE), 當換頁後才會再繼續下載其他記錄, 所以理論上也會加快開啟速度 |
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
請思考幾個問題。
1.純硬體狀況。5K 一千張。也不過 5M Byte, 這樣看來。以你的電腦的速度。你很難用肉眼看出差異。 2.以軟體技術來說。你的操作經過 OS, 它會有 cache 的行為。現有的機器將個 512M 不在少數。 5M, 10M 的東西在 cache 裏。應沒什麼好大驚小怪的。 3.再來說到 clientdataset 這種東東。也許你的動作並沒有做到 limit 你選出的結果。 但是這些個元件。自己會只傳回幾筆你可以立刻看到的那些。而當你再移到想看的第N筆時。它才又再去跟 SQL Server 要一次。 也就是說。可能一次只傳回十筆。等你要看第十一筆時。它才再幫你去 query 一次後面那幾筆。這種動作。你可以用 dbgrid 來觀察。要是這樣看來。你沒法子由這邊來看出 5K, 100K 的差異了。 ===================引 用 文 章=================== 您好 謝謝您的回覆,但是我目前使用的是三層式架構,用clinetdatatset,而且沒有放DBGRID,沒有用 select * from的方式。但是開一千張100K左右的圖和開4~5K左右的圖的時間是差不多的!! |
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |