ASP教程->ASP抽取數(shù)據(jù)的執(zhí)行效率
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
通常從數(shù)據(jù)庫中抽取數(shù)據(jù)記錄,需要使用到SQL語句,查詢獲得相關(guān)記錄集,然后從記錄集中選擇相關(guān)字段、相關(guān)記錄行進行顯示。
那么在抽取到顯示的一系列列過程中,如果注意如下幾個要點,則令抽取數(shù)據(jù)的執(zhí)行效率大大增加。 1,明確抽取的字段名稱 正常的SQL語句抽取記錄是: Select * from [data_table] 即從數(shù)據(jù)表data_table中抽取所有字段的記錄值。 select * 語句的執(zhí)行效率是很低的,因為在執(zhí)行這樣的語句的時候其實執(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()里面可以寫字段名(字符型),或者字段索引號(數(shù)字),它代表字段列表中第幾個字段。比如: rs(0)就表示rs("cn_name") rs(1)表示rs("cn_pwd") 事實已證明了用索引數(shù)(index number)訪問記錄集元素要比用字段名稱(field name)快出幾倍。按字符串查詢要比按整數(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語句或存儲過程中改變了select列表的字段顯示順序,那么在賦值和處理時就要注意了。 4,當然,使用GetRows()又是另外一回事了。 該文章在 2010/12/9 9:22:25 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |