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

不同連接資料庫的方式效率差非常多(FoxPro vs MySQL)

尚未結案
taisun
一般會員


發表:10
回覆:8
積分:3
註冊:2005-08-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-10 23:47:14 IP:140.113.xxx.xxx 未訂閱
大家好,小弟在寫一套進銷存資料庫,舊系統是DBF與cdx檔構成的資料庫系統,當初為客戶寫時就系統已經有數十萬筆的資料了。為了比較不同方式的聯接與資料庫所造成的效能,所以我ㄧ共嚐試了三種方式來開啟一個七十萬筆的表格,這三種皆由DBGrid顯示:    (先註明為什麼要開啟這麼大的表格,爬文過會看到大家一致認同不要開啟這麼大的表格,而是用篩選的方式,但是有時候客戶需求就一定得開啟,例如視覺化的搜尋(做Locate)以及Last的表格操作,因此利用PacketRecords來操作DBGrid是不適合的。)    一、一開始拿來想說他是FOXPRO的資料庫,我就拿BCB6.0 + BDE來做,結果開啟表格並且顯示在DBGrid,花不到1秒且只要18.6MB, 雖然效率超好,但是有時候正常的Query操作卻發生當掉,搞得我快瘋了(猜是index搞鬼),論壇這邊少有講到FoxPro的東西,後來就決定把整個資料庫搬到MySQL,花了很大的力氣。再嚐試了下列兩種連接方式:
二,這邊有大大建議MySQL + Zeos,我嘗試的結果開啟加顯示共 27秒,記憶體125MB。
三、後來看到書中說明用dbExpress + MySQL,,就嘗試用 TSQLConnection + TSQLTable + TDataSetProvider + TClientDataSet,開啟加顯示一共需快兩分鐘,記憶體消耗148MB。 因此以二三的作法根本比不上一,三更是不能使用,差了很多,況且同樣是顯示在DBGrid上,記憶體也差了很多。即使效能一非常好,但是回到一我又得處理我解決不了的怪問題,這也是當初放棄的原因,請問各位大大有什麼建議嗎,還是先天FoxPro與MySQL的差異? PS:我所說的問題即在 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=79540 中,其實後來發現問題根本沒解決。 PS2: 另外小弟一更早也提過這個疑問 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=78134 ,有經驗的大大提供意見用分批顯示(控制傳回顯示的資料量),但是像一的方式完全不需要寫到code,也不需要特別控制,就可以達到高效率的表格操作,BDE + foxpro 效率真的是很令人訝異。 發表人 - taisun 於 2005/10/11 00:13:03
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-11 11:33:38 IP:218.175.xxx.xxx 未訂閱
參考看看 理面的聯結 漫談VFP 8.0 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=79632 Visual FoxPro 漫談 台灣災難都是事後算帳 無人飛行載具(Unmanned Aerial Vehicle,UAV)為什麼沒大量應用於救災行列
taisun
一般會員


發表:10
回覆:8
積分:3
註冊:2005-08-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-12 01:25:37 IP:163.28.xxx.xxx 未訂閱
引言: 參考看看 理面的聯結 漫談VFP 8.0 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=79632 Visual FoxPro 漫談 台灣災難都是事後算帳 無人飛行載具(Unmanned Aerial Vehicle,UAV)為什麼沒大量應用於救災行列
謝謝大大提供的資料 雖然沒直接回答到上面的問題,看了之後收益很多 在網路上收尋到一些資料跟大家分享 >
系統時間:2024-03-28 18:08:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!