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

FireBird 2.x 讀取速度的問題

缺席
P.D.
版主


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-07 12:23:52 IP:118.169.xxx.xxx 未訂閱
請問各位!

最近使用FireBird 2.x 版, 似乎發現一個問題, 在程式啟動的第一次讀取資料庫,
已經有下where, 不論是抓取一筆, 或者多筆, 第一次都要要耗掉至少20杪-30秒的時間
但如果第二次執行 sql (可能相同sql或者不同), 速度都在3-5秒之間
這似乎與buffer 載入有關, 如果第一次抓取空到空的記錄會耗更多的時間
不知有沒有辦法可以解決第一次很慢的問題, 在以前的 1.5x版好像沒這麼嚴重

架構
FireBird 2.x IBX Delphi5 XP pro 4G Ram Sata2 500G HD
資料庫約3G, 150萬筆記錄
kadee
高階會員


發表:11
回覆:141
積分:165
註冊:2002-03-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-07 12:40:04 IP:114.35.xxx.xxx 訂閱
可能的因素為 IBX是針對interbase寫的,在FB1.5時和interbase的結構差異較小,
到FB2.0 差異加大,影響你連接的速度,可以改用DBX或是其他third-party的元件試試看。

******
必利得免費進銷存 總帳系統
(不限時間筆數,含網路版),
歡迎下載使用
www.bigredinf.net 必利得資訊
******
===================引 用 P.D. 文 章===================
請問各位!

最近使用FireBird 2.x 版, 似乎發現一個問題, 在程式啟動的第一次讀取資料庫,
已經有下where, 不論是抓取一筆, 或者多筆, 第一次都要要耗掉至少20杪-30秒的時間
但如果第二次執行 sql (可能相同sql或者不同), 速度都在3-5秒之間
這似乎與buffer 載入有關, 如果第一次抓取空到空的記錄會耗更多的時間
不知有沒有辦法可以解決第一次很慢的問題, 在以前的 1.5x版好像沒這麼嚴重

架構
FireBird 2.x IBX Delphi5 XP pro 4G Ram Sata2 500G HD
資料庫約3G, 150萬筆記錄
------
Kadee/BigRed Ent.
www.tw165.com
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-01-07 16:55:36 IP:203.75.xxx.xxx 未訂閱
DBX不在D5裡面,所以沒辦法改成DBX喲

另外,以我之前在測DBX IB Driver Firebird 1.5.5的經驗
存取都會很慢,後來升級為2.1.1以後倒是沒有這問題了。

不知道pd大有測過哪些版本呢?

===================引 用 kadee 文 章===================
可能的因素為 IBX是針對interbase寫的,在FB1.5時和interbase的結構差異較小,
到FB2.0 差異加大,影響你連接的速度,可以改用DBX或是其他third-party的元件試試看。

******
必利得免費進銷存 總帳系統
(不限時間筆數,含網路版),
歡迎下載使用
www.bigredinf.net 必利得資訊
******
===================引 用 P.D. 文 章===================
請問各位!

最近使用FireBird 2.x 版, 似乎發現一個問題, 在程式啟動的第一次讀取資料庫,
已經有下where, 不論是抓取一筆, 或者多筆, 第一次都要要耗掉至少20杪-30秒的時間
但如果第二次執行 sql (可能相同sql或者不同), 速度都在3-5秒之間
這似乎與buffer 載入有關, 如果第一次抓取空到空的記錄會耗更多的時間
不知有沒有辦法可以解決第一次很慢的問題, 在以前的 1.5x版好像沒這麼嚴重

架構
FireBird 2.x IBX Delphi5 XP pro 4G Ram Sata2 500G HD
資料庫約3G, 150萬筆記錄
tuga
高階會員


發表:16
回覆:109
積分:120
註冊:2002-07-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-01-13 16:27:16 IP:122.116.xxx.xxx 訂閱
不知道有沒有像是 SQL MONITOR 的東西, 看一下, 

有時在 tquery 裡面, 沒有 where 的條件式, 但是它自動open 時, 撈了過多的資料,


bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-01-14 16:12:42 IP:60.248.xxx.xxx 未訂閱
請先確認是 Firebird Server 的問題,還是 App 的問題
畢竟 Client App 要資料也是要等 Server 把資料載入記憶體後才會給 Client

程式關掉後再次執行相同操作是否還會有一樣的問題?
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
P.D.
版主


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-01-16 01:51:59 IP:118.160.xxx.xxx 未訂閱
1.在firebird 1.5x 版實測比 2.x 版要快
2.程式啟動後第一次都很慢

以上在同一台pc測試, 同資料量, 同資料庫, 同程式
但此程式並非專做測試用, 而是客戶的資料系統, 所以並沒有另開發計算測試讀取時間的功能
因此所有速度的快慢都是以手錶計時的
===================引 用 bestlong 文 章===================
請先確認是 Firebird Server 的問題,還是 App 的問題
畢竟 Client App 要資料也是要等 Server 把資料載入記憶體後才會給 Client

程式關掉後再次執行相同操作是否還會有一樣的問題?
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2010-01-16 23:27:14 IP:118.167.xxx.xxx 未訂閱
看來是為了與舊版的相容性而導致速度變慢

以PD大資深的程度,我相信已經把IBX的版本更新到最新了

但D5的最新…可能也是不夠新吧

剛剛看了一下IBPhoenix Downloads,有「IBPhoenix Firebird ODBC Driver」這個東西耶!
PD大可以試試看這個,再改用ADO或BDE來測一下它的速度

但…要改的話應該也是很頭痛吧!

===================引 用 P.D. 文 章===================
1.在firebird 1.5x 版實測比 2.x 版要快
2.程式啟動後第一次都很慢

以上在同一台pc測試, 同資料量, 同資料庫, 同程式
但此程式並非專做測試用, 而是客戶的資料系統, 所以並沒有另開發計算測試讀取時間的功能
因此所有速度的快慢都是以手錶計時的
===================引 用 bestlong 文 章===================
請先確認是 Firebird Server 的問題,還是 App 的問題
畢竟 Client App 要資料也是要等 Server 把資料載入記憶體後才會給 Client

程式關掉後再次執行相同操作是否還會有一樣的問題?
RootKit
資深會員


發表:16
回覆:358
積分:419
註冊:2008-01-02

發送簡訊給我
#8 引用回覆 回覆 發表時間:2010-01-19 23:52:19 IP:122.126.xxx.xxx 訂閱
 Prepare ?
若有可能是 IBX的問題,要修改 IBSQL 查過 D5 & D7 內容差不多(沒很認真)

P.D.
版主


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2010-01-20 21:27:47 IP:118.160.xxx.xxx 未訂閱
1.不好意思吶! 我的IBX還是停在5年前發佈的, 並沒有進行更新
2.ODBC不管速度如何快, 畢竟還是再透過一層的轉換, 所以直覺上應該不會比IBX, ADO 連線有效率吧?
3.因為這是一支已發展10年的程式, 要改用ADO, DBX 都不是一件容易的事(當時的Delphi都沒有發展到這裡),
而要換FB2.X 版是因為 FB1.5在VISTA 上是無法運作的, 所以只好很不情願的換成2.X版, 只是換上去後, 客戶
普遍的反應就是讀取速度變很慢了, 所以才會想是否有能在不做異變的狀況來調整速度?
===================引 用 GrandRURU 文 章===================
看來是為了與舊版的相容性而導致速度變慢

以PD大資深的程度,我相信已經把IBX的版本更新到最新了

但D5的最新…可能也是不夠新吧

剛剛看了一下IBPhoenix Downloads,有「IBPhoenix Firebird ODBC Driver」這個東西耶!
PD大可以試試看這個,再改用ADO或BDE來測一下它的速度

但…要改的話應該也是很頭痛吧!
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#10 引用回覆 回覆 發表時間:2010-01-21 08:19:09 IP:203.75.xxx.xxx 未訂閱
原來是這樣
我剛剛在「Does Firebird work on Windows Vista or Windows 7?」中看了一下。
好像要使用1.5.4的版本和一些些設定才能順利在Vista / 7 平台上安裝及運作

我想到另一種作法…
改用Embedded Firebird,再使用DCOM來做多層架構,這樣Server DB再怎麼慢應該還是比原先使用DB service要來得快,因為是直接吃硬體資源,哈!

以下是該網站的內容:
Yes. Just make sure you uncheck the Control Panel applet option while installing.

Also, make sure you do the installation as administrator (Run as administrator from the file context menu), as otherwise server will not start when installation is complete.

If you wish to use the Embedded, please skip version 2.0.1 as it has a bug. Either use 1.5.4, 2.0.0, or some 2.x version newer than 2.0.1.

Make sure you set the IpcName setting in firebird.conf if you wish local connections to work. With Firebird 1.5 you should use the name FirebirdIPI and for Firebird 2 and above use FIREBIRD. You also need to prefix the name with Global\ to make Firebird service available to all users. Read comment above the IpcName setting in firebird.conf file for more details.

On Vista, you can also connect using variant of connection string that uses hostname, but without any hostname, something like:

:C:\path\to\database.fdb


===================引 用 P.D. 文 章===================
1.不好意思吶! 我的IBX還是停在5年前發佈的, 並沒有進行更新
2.ODBC不管速度如何快, 畢竟還是再透過一層的轉換, 所以直覺上應該不會比IBX, ADO 連線有效率吧?
3.因為這是一支已發展10年的程式, 要改用ADO, DBX 都不是一件容易的事(當時的Delphi都沒有發展到這裡),
?? 而要換FB2.X 版是因為 FB1.5在VISTA 上是無法運作的, 所以只好很不情願的換成2.X版, 只是換上去後, 客戶
?? 普遍的反應就是讀取速度變很慢了, 所以才會想是否有能在不做異變的狀況來調整速度?
a0
一般會員


發表:11
回覆:29
積分:18
註冊:2003-09-12

發送簡訊給我
#11 引用回覆 回覆 發表時間:2010-01-29 02:25:24 IP:114.36.xxx.xxx 訂閱
try use gbak,exe and upgrade ods to ver 11.X
P.D.
版主


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

發送簡訊給我
#12 引用回覆 回覆 發表時間:2010-02-05 19:06:11 IP:118.160.xxx.xxx 未訂閱
感謝各位提供各方面的協助, 但因資訊過於龐大, 一時間並無法搜尋到可用的資訊, 暫時先結案了, 再次謝謝各位前輩的協助!
系統時間:2024-11-23 3:49:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!