用實例來說明如何優化Web數據庫頁面

隨著互聯網的發展,Web數據庫的應用越來越多,用戶對訪問Web數據庫頁面的速度也要求越來越高。訪問Web頁面的速度的快慢取決于網絡的速度、Web頁面所在服務器的性能以及Web頁面本身的設計等多方面原因。本文介紹一種根據筆者多年開發經驗總結的優化Web數據庫頁面的方法。

解決原理

用戶訪問靜態Web頁面時,Web服務器只需簡單地將該頁面傳回給用戶浏覽器,由浏覽器解釋執行;而用戶訪問“動態”Web頁面時(含服務器端執行程序),Web服務器需要先解釋執行該頁面,將嵌入在頁面中的服務器端執行代碼在服務器端執行完畢,並將執行結果形成一個“靜態”的Web頁面傳回給用戶浏覽器,再由浏覽器解釋執行。

在Web數據庫應用系統中,當用戶訪問Web數據庫頁面時,Web服務器需要先與數據庫服務器交換信息,從數據庫中動態地讀取數據並形成一個“靜態”的Web頁面傳回用戶浏覽器端,再由浏覽器解釋執行。

基于Web頁面的上述執行過程,如果把“從數據庫中動態讀取數據”只執行一次並形成一個“靜態”的HTML代碼段,在需要從數據庫中動態讀取數據的頁面中插入該段代碼,就能減少訪問數據庫的開銷,從而提高訪問該頁面的速度,其原理類似于程序的一次編譯、多次執行。

編程實例

下面以火車訂票系統爲例來說明該方法的具體實現過程。火車訂票系統中站名、車次、各停*站及其停車時間等數據被設計存放在數據庫中。由于車次、站名的增減、停車時間的變更等信息不會頻繁地發生變化,具有相對的穩定性,所以可以在數據需要變更時由系統管理員一次性執行一段代碼,從數據庫中提取數據並生成若幹HTML代碼的“靜態”引用文件,供需要站名、車次、停*站、停車時間的各個Web頁面引用。只有到下次鐵路系統再次調整時間、車次等信息時,系統管理員才有必要修改數據庫中的數據,重新生成並覆蓋原有的HTML代碼“靜態”引用文件,而引用該“靜態”代碼的各個Web頁面則無需任何修改。

下面以其中“站名”爲例,說明“靜態”代碼的生成以及各Web頁面對此“靜態”代碼的引用方法。設系統采用Access數據庫train.mdb,表名爲tab_train,“站名”字段爲stations。首先從數據庫中讀取“站名”並生成“靜態”HTML代碼的ASP程序,然後把生成的“靜態”代碼保存到文件stations.inc中。

/*make_stations.asp*/

<%

Set fso = Server.CreateObject("Scripting.FileSystemObject")

FilePath = Server.MapPath(“station.inc”)

Set file = fso.CreateTextFile(FilePath)

Set conn = server.CreateObject(“ADODB.Connection”)

DBPath = Server.MapPath(“train.mdb”)

conn.Open “driver={Microsoft Access Driver (*.mdb)}; dbq=”& DBPath

sql = “select stations from tab_train”

Set rs = conn.Execute(sql)

line = “function put_stations(){”

file.WriteLine line

line = “document.writeln(‘ ” & “ <select name = ‘stations’ ’)”

file.WriteLine line

While Not rs.EOF

line = “document.write(‘<option ” & rs(“stations”) & “</option’)”

file.WriteLine line

rs.MoveNext

Wend

line = “document.write(‘</select’) }”

file.WriteLine line

file.close

%

引用“靜態”的“站名”的HTML頁面如下:

< html

< head

< title 引用stations.inc文件</title

< !--include file=“stations.inc”--

< /head

< body

< table

< tr < td

< script language=“javascript” put_stations() < /script

< /td < /tr

< /table

</body

</html

小 結

在make_stations.asp程序代碼中,采用了生成“函數”的方法,這樣設計的好處是可以在其他頁面的任何布局位置上引用該“函數”。在稍複雜的Web數據庫應用系統中,一般都或多或少地存在著某些“不會頻繁地發生變化,具有相對的穩定性”的信息,對這些信息進行“靜態”優化,可以顯著地提高Web數據庫的訪問速度。當然,對需要反映數據庫中當前數據狀態的查詢統計頁面是不能進行“靜態”優化的。

實例解析從統計數據分析網站內容頁如何優化
  做網站優化的站長都知道內容頁的優化好壞,直接影響到搜索引摯能不能收錄內容頁。而許多的網站內容頁基本是不被收錄的,即使收錄了也不會有很好的排名。對于利用長尾關鍵詞來提高網站流量的站長來說,這無疑就是...查看完整版>>實例解析從統計數據分析網站內容頁如何優化
 
從實例出發:如何刪除JDBC數據源
  當我們確定一個數據源不會再被使用的時候,可以將它刪除,如示例13-7所示。  【程序源代碼】  1 // ==================== Program Description ==========================  2 // 程序名稱:示例13-7 : De...查看完整版>>從實例出發:如何刪除JDBC數據源
 
從實例出發:如何刪除JDBC數據源
當我們確定一個數據源不會再被使用的時候,可以將它刪除,如示例13-7所示。【程序源代碼】1 // ==================== Program Description ==========================2 // 程序名稱:示例13-7 : DeleteDataSource.j...查看完整版>>從實例出發:如何刪除JDBC數據源
 
淺議如何從統計數據中不斷優化SEO效果
  作爲一名個人的站長,我有許多跟其他站長一樣的習慣,比如:打開電腦後第一件事便是查看網站的廣告收入,第二件事便是查看網站的流量統計,第三件事就是打開A5站長論壇,第四件事才是可能與網站無關的事。但是每...查看完整版>>淺議如何從統計數據中不斷優化SEO效果
 
WEB優化:網站頁面內容優化的原則-設計理念
WEB優化:網站頁面內容優化的原則-設計理念
WEB前端優化主要分頁面內容優化和服務器優化,本篇主要介紹內容優化,服務器端的優化以後再講。頁面內容優化的四大原則是:降低請求數、減少交互通信量、合理利用“並行”、節約系統消耗。一、先看一組數據;下面是打...查看完整版>>WEB優化:網站頁面內容優化的原則-設計理念
 
實例分析單頁面優化步驟和效果
  昨天一個客戶,也是在我這做過優化的一個客戶,突然提到想做百度關鍵詞:“香港六合彩”,一直以來燃驢都比較拒絕做這個的關鍵詞。特別是這種超級敏感的詞,網站排名可以說是非常的不穩定。隨時可能會...查看完整版>>實例分析單頁面優化步驟和效果
 
新手必讀:網站單頁面SEO優化評分說明
  很多新人對于網站優化(SEO)沒有概念,在網頁設計的時候不知道該如何做才能取得良好的效果,下面給出搜索引擎優化評分標准,供大家參考。  外部鏈接文字:10分  標題:10分  域名:7分  H1,H2字號標題:5...查看完整版>>新手必讀:網站單頁面SEO優化評分說明
 
實例說明圖片網站該怎麽優化
  學習SEO的人都知道,圖片網站的優化比較困難,因爲文字較少,相反圖片較多。這樣的網站應該怎樣進行優化?  有很多人應該在A5或者Seowhy上尋找過答案,但是沒有一個完整的方案。下面,小五就以“螞蟻圖庫&...查看完整版>>實例說明圖片網站該怎麽優化
 
用PHP實現Web頁面同數據庫相連
Web頁面同數據庫相連,最常見的是使用CGI程序。任何同數據庫有關的頁面信息都要用C或者Perl語言寫出單獨的CGI程序,各CGI程序之間沒有通用性。每增加一項內容,都要重寫CGI程序,工作量過大。在NT環境下,有很多工具...查看完整版>>用PHP實現Web頁面同數據庫相連
 
 
回到王朝網路移動版首頁