程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP抽取數據的執行效率

ASP抽取數據的執行效率

編輯:關於ASP編程
通常從數據庫中抽取數據記錄,需要使用到SQL語句,查詢獲得相關記錄集,然後從記錄集中選擇相關字段、相關記錄行進行顯示。

那麼在抽取到顯示的一系列列過程中,如果注意如下幾個要點,則令抽取數據的執行效率大大增加。

1,明確抽取的字段名稱

正常的SQL語句抽取記錄是:
Select * from [data_table]
即從數據表data_table中抽取所有字段的記錄值。

select * 語句的執行效率是很低的,因為在執行這樣的語句的時候其實執行了兩次查詢,在執行select語句前,首先必須查詢系統表來確定名稱和數據類型。

所以盡量最少使用select *語句,而使用明確的字段名稱,如:
Select cn_name,cn_pwd from [data_table]
2,使用rs(0)比rs(filename)更快
Set rs=conn.Execute("Select cn_name,cn_pwd from [data_table]")
記錄集rs()裡面可以寫字段名(字符型),或者字段索引號(數字),它代表字段列表中第幾個字段。比如: 
rs(0)就表示rs("cn_name")
rs(1)表示rs("cn_pwd")

事實已證明了用索引數(index number)訪問記錄集元素要比用字段名稱(field name)快出幾倍。按字符串查詢要比按整數查詢花去更多的時間和系統資源。

3,使用記錄集rs值前,將其賦值給變量
<% 
Set rs=conn.Execute("Select cn_name,cn_pwd from [data_table] where cn_id=1")
if not rs.eof then 
do while not rs.eof 
cn_name = rs(0) ' 把rs值賦給變量 
cn_pwd = rs(1) 
' ... 使用變量處理工作 
rs.movenext 
loop 
end if 
rs.close 
Set rs = Nothing
%>

但在SQL語句或存儲過程中改變了select列表的字段顯示順序,那麼在賦值和處理時就要注意了。
4,當然,使用GetRows()又是另外一回事了
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved