国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

連接WEB數(shù)據(jù)庫的ADO性能提高技巧

2019-11-18 20:36:32
字體:
供稿:網(wǎng)友
ADO(ActiveX Data Object)是asp的重要組件,內(nèi)置于ASP。ASP用Database access組件與后臺(tái)數(shù)據(jù)庫進(jìn)行連接。Database Access 組件通過 ADO 訪問存儲(chǔ)在數(shù)據(jù)庫或其他表格化數(shù)據(jù)庫結(jié)構(gòu)中的信息。因此,與過去編寫CGI程序訪問數(shù)據(jù)庫信息相比,ADO已成為當(dāng)今開發(fā)者們最喜歡的恢復(fù)和修改SQL_SERVER數(shù)據(jù)庫數(shù)據(jù)的常用Database Access 組件。然而,ADO的默認(rèn)設(shè)置并不總是最優(yōu)化的設(shè)置,要想開發(fā)出強(qiáng)大的基于Client/Server和Web的應(yīng)用程序,有必要研究一下如何提高它的性能。實(shí)踐證明,可以從7個(gè)方面來提高ADO的性能。
1. 使用本地SQL SERVER OLE DB PRovider屬性
Microsoft 對(duì)應(yīng)用程序訪問各種各樣的數(shù)據(jù)源所使用的方法是OLE DB,OLE DB介于ODBC(開放式數(shù)據(jù)庫連接標(biāo)準(zhǔn))層和應(yīng)用程序之間。在你的ASP頁面中,ADO介于OLE DB之上的“應(yīng)用程序”。你的ADO調(diào)用首先被送到OLE DB,然后送到ODBC層。OLE DB是一套組件對(duì)象模型(COM)接口。一般情況下,ADO默認(rèn),一個(gè)ADO Recordset 對(duì)象使用OLE DB Provider 作為 ODBC來連接SQL SERVER。然而,本地的OLE DB Provider 給SQL SERVER 提供了較短的代碼路徑,而這往往會(huì)較大地提高ADO 的性能。
2.復(fù)用現(xiàn)有的Connection 對(duì)象
如果你正在開發(fā)一個(gè)APS頁面的應(yīng)用程序,在一個(gè)Command 或Recordset 對(duì)象的ActiveConnection 屬性中復(fù)用現(xiàn)有的ADO Connection 對(duì)象。因?yàn)楫?dāng)ADO暗中打開或建立一個(gè)Connection 對(duì)象時(shí),通過運(yùn)用這種方法你可以避開一些額外的開銷。
3.明確地定義各種參數(shù)
雖然ADO能夠動(dòng)態(tài)地決定一個(gè)Command 對(duì)象所使用的各種參數(shù)屬性,較好地縮短開發(fā)周期,但是這種特性,在應(yīng)用程序中非常典型地增加了服務(wù)器的環(huán)路,在一定程度上降低了ADO 的性能。所以,明確地定義一個(gè)參數(shù)的Type, Direction and Size 可以減少應(yīng)用程序給服務(wù)器造成的環(huán)路數(shù)量。
4.調(diào)整緩沖區(qū)的大小
ADO的CacheSize 影響服務(wù)器方面的Keyset游標(biāo)及靜態(tài)和動(dòng)態(tài)的Recordsets。 在CacheSize的默認(rèn)設(shè)置下,ADO在修改和合并操作時(shí)工作狀態(tài)良好,但如果應(yīng)用程序需要恢復(fù)大量的數(shù)據(jù),就需要增加這個(gè)值。縮減服務(wù)器的環(huán)路數(shù),是提高ADO和SQL SERVER應(yīng)用程序性能的關(guān)鍵。
5.使用Command 對(duì)象代替游標(biāo)
有時(shí),使用游標(biāo)來進(jìn)行修改操作幾乎是不可避免的。然而,修改游標(biāo)可能帶來額外的開銷,從而降低性能。但如果試圖使用包含著T-SQL Insert、Update、delete 語句的Command 對(duì)象來對(duì)服務(wù)器進(jìn)行發(fā)送修改操作可以使開發(fā)者得到較好的性能。
6.在Recordset對(duì)象中使用指針快速前移方法
最好的ADO數(shù)據(jù)更新性能來自于在Recordset對(duì)象中使用指針快速前移方法。一旦你設(shè)定一個(gè)Recordset 對(duì)象為前移,只讀和帶有值1的CacheSize,ADO就會(huì)在該對(duì)象中自動(dòng)生成一個(gè)快速前移的指針。這種方法使得大量的數(shù)據(jù)伴隨著很低的開銷從SQL Server流向Client 端。
7.使用最好的SQL
使用較好的SQL是從ADO和所有以SQL為基礎(chǔ)的數(shù)據(jù)存取技術(shù)獲得較好性能的最好方法。當(dāng)你建立SQL一個(gè)語句,包含你真正需要的一些行和列的時(shí)候,充分利用SQL內(nèi)置的存貯過程,可以使得服務(wù)器有效地處理所有的數(shù)據(jù)更新需求。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 苏尼特右旗| 台州市| 喀喇| 望都县| 沿河| 正安县| 南康市| 安宁市| 九台市| 武安市| 桂林市| 昭苏县| 青海省| SHOW| 寻甸| 德阳市| 方城县| 邛崃市| 奉化市| 依安县| 洛宁县| 上思县| 集安市| 奉节县| 金昌市| 沁水县| 宁明县| 建水县| 甘洛县| 咸阳市| 宜君县| 德阳市| 黄石市| 涞源县| 昭通市| 广饶县| 米易县| 平遥县| 汽车| 青龙| 喀喇沁旗|