通常、データレコードはデータベースから抽出され、SQLステートメントは関連するレコードセットをクエリして取得するために使用され、次にレコードセットから関連するフィールドと関連するレコード行を表示します。
次に、表示された一連の列を抽出するプロセスでは、次のキーポイントが注意を払っている場合、抽出データの実行効率が大幅に増加します。
1.明らかに抽出されたフィールド名
通常のSQLステートメント抽出レコードは次のとおりです。
[data_table] from [from]
つまり、データテーブルdata_tableからすべてのフィールドのレコード値を抽出します。
Select*ステートメントの実行効率は非常に低いです。このようなステートメントを実行すると、2つのクエリが実際に実行されるためです。 Selectステートメントを実行する前に、最初にシステムテーブルを照会して、名前とデータ型を決定する必要があります。
したがって、Select*ステートメントを可能な限り少なく使用し、次のようなクリアフィールド名を使用してみてください。
selectcn_name、cn_pwdfrom [data_table]
2。rs(0)をrs(filename)よりも速く使用する
setrs = conn.execute( "selectcn_name、cn_pwdfrom [data_table]")
レコードセットrs()は、フィールドリストのフィールド数(数字)にフィールド名(文字タイプ)またはフィールドインデックス番号(数)を記述できます。これは、フィールドリストのフィールドの数を表します。例えば:
rs(0)はrs( "cn_name")を意味します
Rs(1)はRs( "cn_pwd")を意味します
インデックス番号を持つレコードセット要素にアクセスすることは、フィールド名を使用するよりも数倍高速であることが証明されています。文字列ごとのクエリは、整数でクエリするよりも多くの時間とシステムリソースが必要です。
3。レコードセットRS値を使用する前に、変数に割り当てます
<%
setrs = conn.execute( "selectcn_name、cn_pwdfrom [data_table] wherecn_id = 1")
ifnotrs.eofthen
dowhileenotrs.eof
cn_name = rs(0) 'rs値を変数に割り当てます
cn_pwd = rs(1)
'...可変処理作業を使用します
rs.movenext
ループ
endif
rs.close
setrs =何もない
%>
ただし、選択リストのフィールド表示順序がSQLステートメントまたはストアドプロシージャで変更されている場合は、割り当てと処理に注意する必要があります。
4.もちろん、getRows()を使用することは別の問題です