Paradox資料庫效率 |
尚未結案
|
shinjie
資深會員 發表:12 回覆:275 積分:287 註冊:2003-03-19 發送簡訊給我 |
請問各位大大,我有一個資料表(放在DB Server),筆數17000,如果我使用ODBC連的話,搜尋一筆資料很快,但是如果將這個資料表,存成Paradox的檔案,放在Local,用BDE連結的話,搜尋速度變慢許多,不知道是什麼問題,謝謝各位大大的幫忙。 =========================================
程式有問題並不可怕,最怕是不知問題出在那
不知問題在那不可怕,更怕是不知如何問問題
寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。 得之;我幸。不得;我命。 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 請問各位大大,我有一個資料表(放在DB Server),筆數17000,如果我使用ODBC連的話,搜尋一筆資料很快,但是如果將這個資料表,存成Paradox的檔案,放在Local,用BDE連結的話,搜尋速度變慢許多,不知道是什麼問題,謝謝各位大大的幫忙。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始請問你兩台的PC效能與級數都一樣嗎? |
shinjie
資深會員 發表:12 回覆:275 積分:287 註冊:2003-03-19 發送簡訊給我 |
引言: 請問你兩台的PC效能與級數都一樣嗎?兩台的級數不一樣,但是我是用 Query.FetchAll,理論上Open完後都是在memory中,那麼應該是Client的處理,應該與Server無關吧,我猜想是因為資料庫種類的限制,在不同種類的資料庫上,會有不同的效率,那我該怎麼調整,才能使Paradox的效能與其他的資料庫效能一樣呢。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。 得之;我幸。不得;我命。 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: [兩台的級數不一樣,但是我是用 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 發送簡訊給我 |
感謝P.D.大大的回答,再請教一下有沒有比較好的Local資料庫呢,我有試過Access,但也是一樣慢(Open時不會,搜尋資料時就跟DB server差很多),真的要使用DB Server的方式才可以嗎?或是有其他方式可以設定呢。資料筆數才17000,而且又有設索引。 =========================================
程式有問題並不可怕,最怕是不知問題出在那
不知問題在那不可怕,更怕是不知如何問問題
寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。 得之;我幸。不得;我命。 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 感謝P.D.大大的回答,再請教一下有沒有比較好的Local資料庫呢,我有試過Access,但也是一樣慢(Open時不會,搜尋資料時就跟DB server差很多),真的要使用DB Server的方式才可以嗎?或是有其他方式可以設定呢。資料筆數才17000,而且又有設索引。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始目前比較好解決又與Delphi很麻吉的資料庫就是InterBase, 可以考慮, 不過一開始可能比較累人, 因為InterBase(FireBird)是sql架構的檔案型資料庫 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |