久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日頭條 焦點資訊 營銷之道 企業(yè)報道 淘寶運營 網(wǎng)站建設(shè) 軟件開發(fā) 400電話
  當(dāng)前位置: 首頁 » 資訊 » 網(wǎng)站建設(shè) » 正文

動態(tài)網(wǎng)頁編程中優(yōu)化數(shù)據(jù)庫注意的十大原則

放大字體  縮小字體 發(fā)布日期:2013-04-13  瀏覽次數(shù):51  【去百度看看】
核心提示:與沒有數(shù)據(jù)庫的網(wǎng)站相比,數(shù)據(jù)庫的存取會降低你的系統(tǒng)性能。但是大多數(shù)情況下,網(wǎng)站和數(shù)據(jù)庫有密不可分的關(guān)系,正是數(shù)據(jù)庫給站點
與沒有數(shù)據(jù)庫的網(wǎng)站相比,數(shù)據(jù)庫的存取會降低你的系統(tǒng)性能。但是大多數(shù)情況下,網(wǎng)站和數(shù)據(jù)庫有密不可分的關(guān)系,正是數(shù)據(jù)庫給站點提供了大容量、多樣性、個性化等特色,并實現(xiàn)了很多特殊的功能。

  1不要忘記給數(shù)據(jù)庫做索引。合理的索引能立即顯著地提高數(shù)據(jù)庫整個系統(tǒng)的性能。可以參考有關(guān)SQL性能調(diào)試書 籍,學(xué)會根據(jù)所需查詢方式合理制作索引和根據(jù)索引方式改進查詢語句。

  2在適當(dāng)?shù)那闆r下,盡可能的用存儲過程而不是SQL查詢,因為前者已經(jīng)過了預(yù)編譯,運行速度更快。同時讓數(shù)據(jù)庫僅僅返回你所需要的那些數(shù)據(jù),而不是返回大量數(shù)據(jù)再讓ASP程序過濾。總之要充分和有效地發(fā)揮數(shù)據(jù)庫的強大功能,讓它按照我們的要求反饋給我們最合適和最精練的信息。

  3在可能情況下我們應(yīng)該使用SQL Server而不是Access。因為Access僅僅是基于文件的數(shù)據(jù)庫,多用戶性能很差。數(shù)據(jù)庫連接盡量使用OLEDB和非DSN方式,因為這種連接方式有更好的并發(fā)性能。

  4避免使用DAO(Data Access Objects)和RDO(Remote Data Objects)數(shù)據(jù)源,因為他們主要應(yīng)用在單用戶的處理系統(tǒng)里,ADO(ActiveX Data Objects)才是為Web應(yīng)用設(shè)計的。

  5建立記錄集Rescordset的時候要清晰合理地設(shè)置數(shù)據(jù)游標(biāo)(cursort)和鎖定方式(locktype)。因為在不同的方式下 ASP會以不同的方式操縱數(shù)據(jù)庫,其執(zhí)行速度也有很大區(qū)別,尤其在大數(shù)據(jù)量的時候。如果你只想遍歷數(shù)據(jù),那么默認游標(biāo)(前進、只讀)會帶來最好的性能。

  6當(dāng)你引用ADO變量的時候,會消耗較多的CPU周期。因此,如果在一個ASP頁面中多次引用數(shù)據(jù)庫的字段變量,一個較好的方式是將字段值先放入本地變量,然后可以直接調(diào)用本地變量來計算和顯示數(shù)據(jù)。

  7緩存ADO Connection對象也許不是一個好主意。如果一個連接(Connection)對象被存儲在Application對象中而被所有ASP頁面使用,那么所有頁面就會爭著使用這個連接。但是如果連接對象被存儲在Session對象中,就要為每個用戶創(chuàng)建一個數(shù)據(jù)庫連接,這就減小了連接池的作用,并且增大了Web服務(wù)器和數(shù)據(jù)庫服務(wù)器的壓力。可以用在每個使用ADO的ASP頁創(chuàng)建和釋放ADO對象來替代緩存數(shù)據(jù)庫連接。因為IIS內(nèi)建了數(shù)據(jù)庫連接池,所以這種方法非常有效,缺點是每個ASP頁面都需要進行一些創(chuàng)建和釋放操作。

  8ASP最強大和主要的用途之一就是對數(shù)據(jù)庫進行操作,在數(shù)據(jù)庫操作中我們要注意:不要任意使用“SELECT * ......” 形式的SQL查詢語句。應(yīng)該盡量檢索你所需要的那些字段。比如一個表中有10個字段,但是你只會用到其中的一個字段(name),就該使用“select name from mytable”,而不是用“select * from mytable”。在字段數(shù)比較少的時候,兩者的區(qū)別可能并不明顯,但是當(dāng)一個表中擁有幾十個字段的時候,數(shù)據(jù)庫會多檢索很多你并不需要的數(shù)據(jù)。在這種情況下你最好不要為了節(jié)省打字時間或者害怕查找對應(yīng)字段名稱的麻煩,而要老老實實地使用“select id,name,age... from mytable”。

  9及時關(guān)閉打開的記錄集對象以及連接(Connection)對象。記錄集對象和連接對象耗費系統(tǒng)資源相當(dāng)大,因此它們的可用數(shù)量是有限的。如果你打開了太多的記錄集對象以及連接對象而最后卻沒有關(guān)閉它們,可能會出現(xiàn)ASP程序剛開始的時候運行速度很快,而多運行幾遍就越來越慢的現(xiàn)象,甚至導(dǎo)致服務(wù)器死機。請使用如下方法進行關(guān)閉:

MyRecordSet.closeSet MyRecordSet=Nothing
Set MyConnection=Nothing   

  10 連接數(shù)據(jù)庫

   仍然使用ODBC系統(tǒng)或者文件DSN來連接數(shù)據(jù)庫,或者使用很快的OLEDB技術(shù)來連接。使用后者,當(dāng)移動Web文件時,不再需要修改配置。

   OLEDB位于應(yīng)用程序與ODBC層之間。在ASP頁面中,ADO就是位于OLEDB之上的程序。調(diào)用ADO時,首先發(fā)送給OLEDB,然后再發(fā)送給ODBC層。可以直接連接到OLEDB層,這么做后,將提高服務(wù)器端的性能。怎么直接連接到OLEDB呢?

   如果使用SQLServer 7,使用下面的代碼做為連接字符串:

strConnString = "DSN='';DRIVER={SQL SERVER};" & _
        "UID=myuid;PWD=mypwd;" & _
        "DATABASE=MyDb;SERVER=MyServer;"

   最重要的參數(shù)就是“DRIVER=”部分。如果你想繞過ODBC而使用OLEDB來訪問SQL Server,使用下面的語法:

strConnString ="Provider=SQLOLEDB.1;Password=mypassword;" & _
        "Persist Security Info=True;User ID=myuid;" & _
        "Initial Catalog=mydbname;" & _
        "Data Source=myserver;Connect Timeout=15"

   為什么這很重要?

   現(xiàn)在你可能奇怪為什么學(xué)習(xí)這種新的連接方法很關(guān)鍵?為什么不使用標(biāo)準(zhǔn)的DSN或者系統(tǒng)DSN方法?好,根據(jù)Wrox在他們的ADO 2.0程序員參考書籍中所做的測試,如果使用OLEDB連接,要比使用DSN或者DSN-less連接,有以下的性能提高表現(xiàn):

性能比較:

----------------------------------------------------------------------

SQL                   Access
OLEDB DSN                OLEDB DSN
連接時間: 18 82             連接時間: 62 99
重復(fù)1,000個記錄的時間: 2900 5400   重復(fù)1,000個記錄的時間: 100 950

----------------------------------------------------------------------

   這個結(jié)論在Wrox的ADO 2.0程序員參考發(fā)表。時間是以毫秒為單位,重復(fù)1,000個記錄的時間是以服務(wù)器油標(biāo)的方式計算的。

 
長春  短信群發(fā)  吉林省  紅視窗  中國  長春市  玉米  長春網(wǎng)站建設(shè)  網(wǎng)站  振華  設(shè)備  設(shè)計  吉林  廣州  撲克  聯(lián)合聲明  敘利亞  美國  美國白宮  新聞中心  內(nèi)蒙古  白宮  化學(xué)武器  指示  記者會  化武  塞內(nèi)加爾  消費者權(quán)益  小雨  滿洲里  敘政府  日本  北京市  中國政府  毒品  中消協(xié)  消費者  強臺風(fēng)  臺風(fēng)  非洲  中非合作論壇  圓桌  中非  長春上門維修電腦  大阪  海外網(wǎng)  經(jīng)濟  國家元首  突擊步槍  重慶市  俄羅斯  網(wǎng)站建設(shè)  步槍  長春上門做系統(tǒng)  長春上門修電腦  長春北大青鳥  黨委書記  政治  北斗導(dǎo)航  軍民  龍頭企業(yè)  長春電腦上門維修  黨委  產(chǎn)業(yè)園  位置服務(wù)  售前咨詢技巧  中國電影  制造  侯建國,質(zhì)量,中國特色社會主義  AJAX  中國移動  中國智能建筑節(jié)  中國芯  長春國貿(mào)  PHP  中國軍網(wǎng)  小米  RSS  f-35  美國人  政府  彈道導(dǎo)彈  戰(zhàn)斗機  州長  一帶一路  檢察官  特朗普  塞申斯  中國市場  今日頭條  特朗普,貿(mào)易戰(zhàn),美國  微博  XML  發(fā)布會  劉強東  英國皇家海軍  運載火箭  航母  戰(zhàn)機  中國空軍 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規(guī)舉報 ]  [ 關(guān)閉窗口 ]

 
0條 [查看全部]  相關(guān)評論

 
網(wǎng)站首頁 | 關(guān)于我們 | 聯(lián)系方式 | 使用協(xié)議 | 版權(quán)隱私 | 網(wǎng)站地圖 | 排名推廣 | 廣告服務(wù) | 積分換禮 | 網(wǎng)站留言 | RSS訂閱 | 吉ICP備19006030號-4
企業(yè)800網(wǎng) · 提供技術(shù)支持