狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

在ASP中優化數據庫處理

在ASP中優化數據庫處理

更新時間:2024-04-11 文章作者:未知 信息來源:網絡 閱讀次數:

來源:中國計算機報

  ASP是一個Web服務器端的開發環境,它提供了一種簡單易學的腳本(VBScript或Jscript),并帶有許多內置的對象,從而提供了一條簡捷的編程之路。更為重要的是,ASP中提供了ADO對象,讓程序員可以輕松操作各種數據庫,從而可以產生和運行動態的、交互的Web服務應用程序。

  目前,國內很多電子商務站點都采用了ASP技術來與數據庫交互,為用戶提供各類服務。

  由于電子商務站點的大部分信息都存放在數據庫中,要提高Web的響應速度、建立高性能的電子商務站點,很大一部分取決于ASP與數據庫之間的處理性能,本文將具體介紹一些優化數據庫處理的方法。


  使用Connection Pool機制


  在數據庫處理中,資源花銷最大的是建立數據庫連接,而且用戶還會有一個較長的連接等待時間。若每一個用戶訪問時,都重新建立連接,不僅用戶要長時間等待,而且系統有可能會由于資源消耗過大而停止響應。如果能夠重用以前建立的數據庫連接,而不是每次訪問時都重新建立連接,則可以很好地解決這些問題,從而提高整個系統的性能。在IIS+ASP處理體系中,采用了Connection Pool機制來保證這一點。

  Connection Pool的原理是:IIS+ASP體系中維持了一個連接緩沖池,建立好的數據庫連接在ASP程序中的斷開都是邏輯斷開,而實際的物理連接被存儲在池中并被加以維護。這樣,當下一個用戶訪問時,直接從連接緩沖池中取得一個數據庫連接,而不需重新連接數據庫,因此,可以大大地提高系統的響應速度。

  為了正確使用Connection Pool機制,必須注意以下幾點:

  1. 在MDAC2.0以前的版本中,必須經過數據庫驅動程序的配置才能使用Connection Pool;在以后的版本中(比如MDAC2.1),缺省是使用Connection Pool機制。具體配置情況可以參見微軟公司的站點(http://www.microsoft.com/data/)。

  順便提一句,在使用Oracle數據庫時,最好使用微軟提供的驅動程序。

  2. 每次數據庫連接串參數必須相同,否則會被認為是不同的連接而重新去連接數據庫,而不是使用緩沖池中的連接。最好的做法是將連接串存儲在Application變量中,所有的程序在建立連接時使用Application變量的值。

  3. 為了更好地使用和維護連接緩沖池,建議在程序中使用以下的方法對數據庫連接進行操作,因為隱式使用數據庫連接時不能利用緩沖池的機制:

  顯式創建連接對象: Set conn=Server.CreateObject(“Adodb.connection”)

  建立數據庫連接:conn.open Application(“connection_string”)

  顯式關閉連接對象:conn.close


  利用直接的OLE DB驅動程序


  在ASP中,通過ADO可以使用兩種方式連接數據庫,一種是傳統的ODBC方式,一種是OLE DB方式。由于ADO是建立在OLE DB技術上的,為了支持ODBC,必須建立相應的OLE DB 到ODBC的調用轉換(如MS OLEDB provider for ODBC)。而使用直接的OLE DB方式(如MS OLEDB provider for SQL, Oracle),則不需轉換,從而提高處理速度,同時,還能利用OLE DB的新特性。


  在內存中緩存ADO對象或其內容


  通常,在ASP程序中,都會涉及到一些存儲在數據庫中的常用信息,如省份列表、商品分類等,這些信息對于每一個訪問用戶都是相同的。若每一個用戶訪問時,都要去數據庫里取出來,然后顯示給用戶,不僅會使數據庫服務器負載加重,無法快速服務于更重要的事務處理,而且Web服務器也必須不停地創建ADO對象,從而消耗大量資源,導致了當用戶很多時幾乎失去響應。若能把一些常用信息事先存儲在內存中,當用戶訪問時,直接從內存中取出,顯示給用戶,則可以大大減小系統的壓力,提高響應速度。

  比如,我們可以把已經取得了數據的RecordSet對象存儲在Application變量中,當用戶訪問時,從Application變量中取得RecordSet對象,而不需再次建立數據庫連接;也可以將RecordSet對象里的數據以其他方式存儲,比如存儲在數組中,然后再將數組存儲在Application變量中,使用時用數組的方式讀取。

  需要注意的是,一個對象要存儲在Application變量中,線程模式必須是Both;對于不滿足該條件的對象,必須以其他方式,比如轉換成數組的方式存儲在Application變量中,這也是上面所說的將內容存儲在數組中的原因。


  使用數字序列


  在ASP程序中,從諸如RecordSet中讀取數據時,為了方便,常使用數據庫列名的方式進行:

  Response.write rs(“fieldnameN”)

  而很少采用該數據庫列名所在的數字序列來讀取,即:

  Response.write rs(N)

  其實,為了從RecordSet得到列值,ADO必須將列名轉化為數字序列,因此,若直接使用數字序列,則可以提高讀取速度。若感覺使用數字序列后,程序可讀性不直觀,可以采用建立常量的方法,如定義:

  const FIELDNAME1 1

  這樣就保證了程序的可讀性和讀取速度。


  使用數據庫過程


  在電子商務站點中,尤其是要進行交易的站點,為了完成交易,可能需要多次查詢大量的信息,用于判定是非,然后更新入庫。若在編寫ASP時,直接在一個程序中作多次數據庫操作,不僅IIS要創建很多的ADO對象,消耗大量資源,而且加重了數據庫服務器的負擔,增大了網絡流量。若把多次數據庫操作流程定義為一個數據庫過程,用如下方式調用:

  connection.execute “{call procedurename(..)}”

  這樣可以利用數據庫的強大性能,大大減輕Web系統的壓力,而且由于頁面內容與業務分開,管理維護也變得方便。


  利用數據庫的特性


  ADO是一套通用的對象控件,本身沒有利用數據庫的任何特性。但若在ASP程序編寫時,有意識地考慮結合數據庫的特性,往往可以有很好的效果。

  比如,Oracle數據庫服務器對于執行過的SQL語句,通常都經過了分析優化,并存儲在一個SQL內存緩沖區中,當下次同樣的SQL語句請求時,直接從內存緩沖區取出執行,不再進行分析優化,從而可以大幅度提高性能。這就要求在ASP程序編寫時,盡量使用相同的SQL語句,或者參數化的SQL語句:

  Set cmd=Server.createobject(“adodb.command”)

  cmd.CommandText=”select * from product where productcode=?”


  用時創建用完釋放


  在前面也提到過,ADO對象是非常消耗資源的,因此一定要牢牢記住,只在用到ADO對象時才創建,用完后馬上釋放,程序如下:

  set rs=Server.createobject(“adodb.recordset”)

  ….

  rs.close

  set rs=nothing


  使用優化過的SQL語句


  對于電子商務網站,最主要的就是要保證不論訪問用戶的多少,系統都要有足夠快的響應速度。由于在ASP技術中,ADO對象消耗的資源是非常大的,若一個SQL語句要執行很長的一段時間,對整個資源也將一直占用,使系統沒有足夠的資源服務于其它用戶。因此,盡量使用優化過的SQL語句,減少執行時間。比如,不使用在in語句中包含子查詢的語句,充分利用索引。

  只要在我們的電子商務網站的建設中充分考慮到效率問題,并利用上述介紹的解決方法,會極大地提高網站的響應速度。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
久久夜色精品国产欧美乱极品| 日韩精品一级中文字幕精品视频免费观看 | 国产乱码精品一区二区三区av| 亚洲成人在线免费| 亚洲自拍偷拍网站| 婷婷六月综合网| 日本午夜精品一区二区三区电影| 性感美女极品91精品| 首页亚洲欧美制服丝腿| 日韩和欧美的一区| 美女视频一区二区| 国产激情偷乱视频一区二区三区| 国产成人一级电影| 99精品国产一区二区三区不卡| 91免费视频网| 亚洲伦理一区| 久久精品国产清高在天天线| 欧美亚洲图片小说| 日韩欧美一区二区三区在线| 久久久激情视频| 日韩理论在线观看| 日韩制服丝袜先锋影音| 国内精品自线一区二区三区视频| 大桥未久av一区二区三区中文| av毛片久久久久**hd| 亚洲高清激情| 久久在线91| 日韩精品一区二区三区中文精品| 日本一区二区视频在线| 亚洲精品福利视频网站| 免费人成在线不卡| 成人va在线观看| 99热这里只有精品8| 欧美婷婷六月丁香综合色| 精品国产一区二区三区四区四| 1区2区3区精品视频| 奇米精品一区二区三区在线观看 | 亚洲青色在线| 欧美日本韩国一区二区三区视频| 久久亚洲精华国产精华液 | 亚洲免费av高清| 麻豆91小视频| 欧美日本国产| 久久一区欧美| 国产日韩欧美精品在线| 午夜精品福利一区二区蜜股av| 国产成人精品aa毛片| 亚洲精品系列| 欧美一级欧美一级在线播放| 国产精品国产三级国产aⅴ无密码| 日韩精品电影在线| 午夜精品短视频| 色女孩综合影院| 国产精品视频在线看| 久久99久久精品欧美| 极品av少妇一区二区| 欧美日韩国产片| 一区二区三区在线免费| 国产成人在线观看| 亚洲一区区二区| 欧美激情中文不卡| 国模冰冰炮一区二区| 国产一区二区三区久久| 久久夜色精品一区| 毛片av一区二区三区| 亚洲精品1234| 久久久美女艺术照精彩视频福利播放| 五月婷婷久久综合| 亚洲午夜一区| www成人在线观看| 久久疯狂做爰流白浆xx| 国产伦精品一区二区三区四区免费 | 2017欧美狠狠色| 国产在线观看免费一区| 国产视频一区欧美| 国产精品网站导航| 成人ar影院免费观看视频| 欧美在线观看你懂的| 亚洲超碰精品一区二区| 影音先锋久久| 国产精品水嫩水嫩| www.av亚洲| 欧美不卡一区二区| 国产美女视频一区| 欧美日韩在线三区| 日韩精品国产精品| 欧美亚洲免费高清在线观看| 国产精品免费人成网站| 99精品黄色片免费大全| 日韩一区二区三区免费观看| 韩国v欧美v亚洲v日本v| 欧美性做爰猛烈叫床潮| 日韩国产一二三区| 色呦呦日韩精品| 日韩中文字幕av电影| 久久精品日产第一区二区三区| 一区二区三区在线视频免费观看| 1024成人| 亚洲乱码国产乱码精品精小说 | 国产精品久久久久久久久免费相片| caoporm超碰国产精品| 精品国产乱码久久| eeuss国产一区二区三区| 久久综合中文字幕| 欧美一区二区三区四区在线观看地址| 日韩美女主播在线视频一区二区三区 | 亚洲伦理在线免费看| 国产日韩欧美一区二区| 亚洲一级片在线观看| 久久国产直播| 麻豆国产欧美一区二区三区| 欧美三电影在线| 国产高清成人在线| 久久先锋影音av鲁色资源网| 午夜久久久久| 一区二区在线观看免费视频播放| 一本久道久久久| 日韩精品三区四区| 91精品国产高清一区二区三区蜜臀| 国产一二三精品| 国产亚洲精品aa午夜观看| 国产一区二区三区四区三区四| 亚洲人成精品久久久久| 久久久久一区二区| 美女视频黄免费的久久| 日韩欧美一级特黄在线播放| 成人av电影观看| 最新日韩在线视频| 色拍拍在线精品视频8848| 国产成人精品亚洲777人妖| 国产亚洲精品中文字幕| 99精品国产99久久久久久福利| 午夜精品aaa| 日韩你懂的在线播放| 国产综合精品一区| 日本亚洲电影天堂| 精品国产伦一区二区三区免费 | 国产精品系列在线| 色欧美片视频在线观看| 成人avav影音| 亚洲国产va精品久久久不卡综合| 欧美日韩国产小视频| 欧美日韩国产高清| 日本va欧美va瓶| 精品99999| 香港久久久电影| 成人黄色一级视频| 亚洲另类在线制服丝袜| 欧美一区二区三区小说| a91a精品视频在线观看| 久久99精品一区二区三区| 国产精品美女久久久久av爽李琼| 久久久人人人| 欧美高清一区| 久久精品国产一区二区三区免费看 | 欧美精品tushy高清| 亚洲精品1区2区| 丰满亚洲少妇av| 五月婷婷久久综合| 国产精品视频免费| 欧美日韩国产免费一区二区| 亚洲精品乱码久久久久久蜜桃麻豆| 激情综合五月天| 亚洲电影一区二区三区| 久久色在线观看| 欧美色视频在线观看| 亚洲国产合集| 91色.com| 国产精品亚洲第一| 婷婷中文字幕一区三区| 国产精品久久久99| 精品国产乱码久久久久久久| 日本久久一区二区| 国产农村妇女精品一二区| 午夜国产精品视频| 成人精品视频一区| 精品中文字幕一区二区| 亚洲与欧洲av电影| 国产精品久久久久久久久久久免费看| 91精品国产乱码久久蜜臀| 91高清在线观看| 免费国产一区二区| 一区在线电影| 色综合久久综合中文综合网| 国产伦理精品不卡| 狠狠v欧美v日韩v亚洲ⅴ| 调教+趴+乳夹+国产+精品| 一区二区三区国产精华| 国产精品久久久久影院亚瑟| 久久色中文字幕| 日韩欧美一级精品久久| 欧美片网站yy| 欧美三区在线视频| 欧美视频一区在线| 欧美综合欧美视频| 欧美日韩一区 二区 三区 久久精品| 免费日韩视频| 久久久久久久久久久一区| 亚洲在线不卡| 久久午夜影视|