線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1234
推到 Plurk!
推到 Facebook!

Paradox資料庫效率

尚未結案
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-01 10:18:13 IP:203.73.xxx.xxx 未訂閱
請問各位大大,我有一個資料表(放在DB Server),筆數17000,如果我使用ODBC連的話,搜尋一筆資料很快,但是如果將這個資料表,存成Paradox的檔案,放在Local,用BDE連結的話,搜尋速度變慢許多,不知道是什麼問題,謝謝各位大大的幫忙。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
P.D.
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-01 18:56:57 IP:61.71.xxx.xxx 未訂閱
引言: 請問各位大大,我有一個資料表(放在DB Server),筆數17000,如果我使用ODBC連的話,搜尋一筆資料很快,但是如果將這個資料表,存成Paradox的檔案,放在Local,用BDE連結的話,搜尋速度變慢許多,不知道是什麼問題,謝謝各位大大的幫忙。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
請問你兩台的PC效能與級數都一樣嗎?
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-04 08:31:05 IP:203.73.xxx.xxx 未訂閱
引言: 請問你兩台的PC效能與級數都一樣嗎?
兩台的級數不一樣,但是我是用 Query.FetchAll,理論上Open完後都是在memory中,那麼應該是Client的處理,應該與Server無關吧,我猜想是因為資料庫種類的限制,在不同種類的資料庫上,會有不同的效率,那我該怎麼調整,才能使Paradox的效能與其他的資料庫效能一樣呢。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
P.D.
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-04 10:02:17 IP:61.71.xxx.xxx 未訂閱
引言: [兩台的級數不一樣,但是我是用 Query.FetchAll,理論上Open完後都是在memory中,那麼應該是Client的處理,應該與Server無關吧,我猜想是因為資料庫種類的限制,在不同種類的資料庫上,會有不同的效率,那我該怎麼調整,才能使Paradox的效能與其他的資料庫效能一樣呢。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
事實上資料庫的存放方式, 在open時是下載到記憶體沒有錯, 但不同的資料庫格式下載方式也不同, 也就是說資料是不可能全部下載到記憶體上的, 否則那有那麼大的記憶體來吃下來, 早就爆掉了! 因此一些主表或key值會在記憶體上, 而實體的記錄其實仍然是以檔案(temp file)來儲存著, 需要時才由temp file 讀出來(這得看資料大小及查詢狀況), 故pc級數不同會影響讀取速度 odbc我不清楚temp file 產生在那裡, 沒有去研究 bde 對 dbfile, 我們常會出現一個狀況, 如果開檔中當機都會自然存留一些~XXXX.DB的檔, 這個就是 DB 的 tempfile, 也就證明其實 bde 還是有利用 temp file 來做事的, 所以搜尋效能不如我們想像都在記憶體中作業, 但至於 odbc 與 bde 那一種快, 我就不知道~~ 但如果db檔不加索引, 萬筆以上的搜尋至少都要耗掉4-5秒的時間, 這是我的經驗值, 僅提供參考
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-04 10:45:12 IP:203.73.xxx.xxx 未訂閱
感謝P.D.大大的回答,再請教一下有沒有比較好的Local資料庫呢,我有試過Access,但也是一樣慢(Open時不會,搜尋資料時就跟DB server差很多),真的要使用DB Server的方式才可以嗎?或是有其他方式可以設定呢。資料筆數才17000,而且又有設索引。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
P.D.
版主


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-04 15:30:15 IP:61.71.xxx.xxx 未訂閱
引言: 感謝P.D.大大的回答,再請教一下有沒有比較好的Local資料庫呢,我有試過Access,但也是一樣慢(Open時不會,搜尋資料時就跟DB server差很多),真的要使用DB Server的方式才可以嗎?或是有其他方式可以設定呢。資料筆數才17000,而且又有設索引。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
目前比較好解決又與Delphi很麻吉的資料庫就是InterBase, 可以考慮, 不過一開始可能比較累人, 因為InterBase(FireBird)是sql架構的檔案型資料庫
系統時間:2024-11-23 9:33:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!