电竞比分网-中国电竞赛事及体育赛事平台

分享

InterBase/FireBird用起來感覺不錯(cuò)

 diamond 2007-09-24
我使用D6+INTERBASE6(D6自帶的),使用TIBClientDataSet控件效果很好,
使用 Cach update 麻煩很多。
//下面是李維的文章,也許對(duì)你有幫助。
InterBase一直被相當(dāng)數(shù)量的接觸過它的開發(fā)人員認(rèn)為是不能勝任關(guān)鍵任務(wù)的數(shù)據(jù)庫。在我的實(shí)際開發(fā)中,我也確實(shí)遇到了他們遇到的問題。然而經(jīng)過了長期的使用,我發(fā)現(xiàn),絕大多數(shù)的問題和困難都是對(duì)此數(shù)據(jù)庫不了解、使用方法不當(dāng)造成的。后來許多開發(fā)中的問題都得到了解決,此后再看InterBase,發(fā)現(xiàn)它是一個(gè)相當(dāng)可信、可靠的數(shù)據(jù)庫。那么,我想把InterBase數(shù)據(jù)庫開發(fā)中的注意事項(xiàng)列舉出來,希望大家能夠批評(píng)指正。
1、要選擇正確的InterBase版本。Borland發(fā)布的較好的版本是6.0.1.6版,這個(gè)版本是最好的borland官方版本。但是,我本人更傾向于FireBird版,它是公開源代碼免費(fèi)版,網(wǎng)址為http://www./。很可能這個(gè)版本比Borland版本更穩(wěn)定可靠,更新更持續(xù)。
2、不要用BDE訪問InterBase,推薦用IBX或DBExpress。前者具備更多的服務(wù)器端API,能夠更全面的控制和訪問數(shù)據(jù)庫。特別該注意的是,IBX元件一定要升級(jí),開發(fā)人員應(yīng)經(jīng)常到http://codecentral./codecentral/ccweb.exe/author?authorid=102去看IBX元件更新和其他IB開發(fā)中有用的資源。
3、要使用恰當(dāng)?shù)拈_發(fā)工具。例如EMS QuickDesk或IBExpert。網(wǎng)址為http://www.,/http://www./。
4、建立數(shù)據(jù)庫對(duì)象時(shí)一定要使用大寫,因?yàn)镮nterBase6本身支持大小寫敏感的對(duì)象名稱,但象IBX這樣的元件卻不能認(rèn)識(shí)小寫InterBase對(duì)象
5、建庫時(shí),CharSet一定要選NONE。如果選擇GB2312或Big5,反而會(huì)造成錯(cuò)誤。
6、開發(fā)中,大批量提交數(shù)據(jù),一定不要使用ibtable.insert這種方法,而應(yīng)使用ibquery中執(zhí)行insert into語句的方法,或者使用存儲(chǔ)過程
7、InterBase系統(tǒng)中transaction一定不要長期的處于pending的狀態(tài),比如,已經(jīng)在某Transaction中進(jìn)行了更新2000條數(shù)據(jù)的動(dòng)作,但該Transaction卻一直懸而未決,不commit。而是應(yīng)該讓Transaction生存期盡量的短,每個(gè)Transaction中的數(shù)據(jù)更改不可過于龐大。例如,我推薦用ClientDataSet進(jìn)行數(shù)據(jù)的更新,當(dāng)打開ClientDataSet時(shí),就開啟一個(gè)Transaction,將數(shù)據(jù)從庫中取出,然后立刻關(guān)閉該Transaction,到提交更新時(shí)再次開啟一個(gè)transaction,進(jìn)行數(shù)據(jù)更新。這種方法應(yīng)用到客戶量繁多、或Web系統(tǒng)上,比較合理。
8、要充分發(fā)揮InterBase6的Transaction特性。對(duì)于IBX元件訪問方式,應(yīng)該雙擊IBTransaction元件,選擇交易模式為ReadCommited。
9、開發(fā)Delphi Web程序時(shí)使用InterBase數(shù)據(jù)庫,一定要選擇遠(yuǎn)程連接方式,即要設(shè)定服務(wù)器名稱,即使WebServer和InterBase處在相同的機(jī)器上。用InterBase和InternetExpress開發(fā)Web程序,一定要在工程源代碼的uses列表最前端按順序加入4個(gè)unit: IBIntf,IBSQLMonitor,XMLBrokr,MidProd,
10、不要使用過于復(fù)雜的嵌套查詢。我覺得,絕大多數(shù)的多級(jí)嵌套查詢都可以Flatten掉,或者用存儲(chǔ)過程解決問題

遵循一定的原則和方法,我發(fā)現(xiàn)InterBase/FireBird用起來感覺不錯(cuò)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多