ASP抽取數(shù)據(jù)的執(zhí)行效率
更新時(shí)間:2006年12月16日 00:00:00 作者:
通常從數(shù)據(jù)庫中抽取數(shù)據(jù)記錄,需要使用到SQL語句,查詢獲得相關(guān)記錄集,然后從記錄集中選擇相關(guān)字段、相關(guān)記錄行進(jìn)行顯示。
那么在抽取到顯示的一系列列過程中,如果注意如下幾個(gè)要點(diǎn),則令抽取數(shù)據(jù)的執(zhí)行效率大大增加。
1,明確抽取的字段名稱
正常的SQL語句抽取記錄是:
Select * from [data_table]
即從數(shù)據(jù)表data_table中抽取所有字段的記錄值。
select * 語句的執(zhí)行效率是很低的,因?yàn)樵趫?zhí)行這樣的語句的時(shí)候其實(shí)執(zhí)行了兩次查詢,在執(zhí)行select語句前,首先必須查詢系統(tǒng)表來確定名稱和數(shù)據(jù)類型。
所以盡量最少使用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()里面可以寫字段名(字符型),或者字段索引號(hào)(數(shù)字),它代表字段列表中第幾個(gè)字段。比如:
rs(0)就表示rs("cn_name")
rs(1)表示rs("cn_pwd")
事實(shí)已證明了用索引數(shù)(index number)訪問記錄集元素要比用字段名稱(field name)快出幾倍。按字符串查詢要比按整數(shù)查詢花去更多的時(shí)間和系統(tǒng)資源。
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語句或存儲(chǔ)過程中改變了select列表的字段顯示順序,那么在賦值和處理時(shí)就要注意了。
4,當(dāng)然,使用GetRows()又是另外一回事了
那么在抽取到顯示的一系列列過程中,如果注意如下幾個(gè)要點(diǎn),則令抽取數(shù)據(jù)的執(zhí)行效率大大增加。
1,明確抽取的字段名稱
正常的SQL語句抽取記錄是:
Select * from [data_table]
即從數(shù)據(jù)表data_table中抽取所有字段的記錄值。
select * 語句的執(zhí)行效率是很低的,因?yàn)樵趫?zhí)行這樣的語句的時(shí)候其實(shí)執(zhí)行了兩次查詢,在執(zhí)行select語句前,首先必須查詢系統(tǒng)表來確定名稱和數(shù)據(jù)類型。
所以盡量最少使用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()里面可以寫字段名(字符型),或者字段索引號(hào)(數(shù)字),它代表字段列表中第幾個(gè)字段。比如:
rs(0)就表示rs("cn_name")
rs(1)表示rs("cn_pwd")
事實(shí)已證明了用索引數(shù)(index number)訪問記錄集元素要比用字段名稱(field name)快出幾倍。按字符串查詢要比按整數(shù)查詢花去更多的時(shí)間和系統(tǒng)資源。
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語句或存儲(chǔ)過程中改變了select列表的字段顯示順序,那么在賦值和處理時(shí)就要注意了。
4,當(dāng)然,使用GetRows()又是另外一回事了
相關(guān)文章
asp怎么獲取毫秒數(shù)實(shí)現(xiàn)代碼
得到17位的當(dāng)前時(shí)間如:20091210105237238=2009年12月10日10:52:37:238,接下來在獲取毫秒數(shù),感興趣的朋友可以參考下哈,希望可以幫助到你2013-04-04Session.TimeOut的最大取值是1440,超出會(huì)報(bào)錯(cuò)
Session.TimeOut的取值以分鐘為單位,最大取值是1440分鐘,也就是24個(gè)小時(shí),如果給它賦一個(gè)更大的值2009-06-06asp實(shí)現(xiàn)檢查ip地址是否為內(nèi)網(wǎng)或者私有ip地址的代碼分享
這篇文章主要介紹了asp實(shí)現(xiàn)檢查ip地址是否為內(nèi)網(wǎng)或者私有ip地址的代碼分享,給同樣在找IP判斷的使用,需要的朋友可以參考下2014-08-08