ヒントの1つ:リクエストコレクションの使用効率を向上させる
値を抽出するためのASPコレクションにアクセスすることは、時間のかかるリソース消費プロセスです。この操作には関連セットの一連の検索が含まれているため、ローカル変数にアクセスするよりもはるかに遅いです。したがって、ページ内のリクエストコレクションの値を複数回使用する場合は、ローカル変数として保存することを検討する必要があります。たとえば、コードを次のフォームに書き込み、スクリプトエンジン処理をスピードアップします。
strtitle = request.form( "title")
strfirstname = request.form( "firstName")
strlastname = request.form( "lastname")
iflen(strtitle)thstrtitle = strtitle& ""
ifstrfirstname = "" thstrullname = strtitle& ""&strlastname
elseiflen(strfirstname)= 1then
strfullname = strtitle&strfirstname& "。"&strlastname
それ以外
strfullname = strtitle&strfirstname& ""&strlastname
endif
ヒント2:適切なコレクションへの直接アクセス
そうでない場合は、strpage = request( "page")を使用してパラメーターを取得しないでください。これにより、すべてのコレクションが順番に検索されます。これは、適切なセットに直接アクセスするよりも効率が低く、この値が別のセットに表示されないことが絶対に保証されない限り、安全ではありません。
たとえば、クライアントのリクエストを満たすWebサーバー名を検索することが望ましい場合があります。これは、各クエリに表示されるrequest.servervarablesコレクションで「server_name」を探すことで実現されます。ただし、他のセットに「server_name」という名前の値(キー名はcase-inssensitive)も含まれている場合、リクエスト( "server_name")を使用する場合、誤った結果が取得されます。要するに、適切なコレクションに可能な限り直接アクセスする必要があります。
ヒント3:時間のかかる操作の前に、Response.isclientConnectedプロパティを使用します
Response.isclientConnectedを使用することは、ユーザーがサーバーにまだ接続されており、ASPによって作成されたWebページをロードしているかどうかを観察するための便利な方法です。ユーザーがダウンロードの切断または停止を停止した場合、バッファコンテンツがIISによって破棄されるため、サーバーのリソースをWebページを作成する必要はなくなりました。したがって、より多くのリソースを計算または使用するのに多くの時間を必要とするWebページの場合、訪問者がオフラインであるかどうかを各段階で確認する価値があります。
...ページの最初の部分をcodeToCreateします
ifresponse.isclientConnectedThen
Response.Flush
それ以外
Response.End
endif
... codetocreateNextPartofpage
ヒント4:ASPのADOオペレーションを最適化します
一般的に、データはWebサイトの実際のコンテンツを構成します。したがって、ADO操作を最適化してASPコードの実行をスピードアップすることは非常に便利です。
a。必要な列のみを選択します。ADOレコードセットを開くとき、すべての列を取得する必要がない限り、テーブル名(つまり、SELECT*)を自動的に使用しないでください。個別の列を使用すると、サーバーに送信されるデータ量またはサーバーからフェッチされたデータの量が削減されます。すべての列を使用する必要がある場合でも、各列を個別に命名すると、サーバーがそれらの列の名前を解釈する必要がなくなったため、最高のパフォーマンスが得られます。