ASPとSQLデータベースのリンク

ASPとSQLデータベースは現在、密接Accessデータベース、データベースの効率が直接あなたがより良いデータベースを最適化するので、それは使用のために導入されたいくつかのSQLSERVER /アクセスの最適化方法以下の必要がある、お使いのオペレーションシステムの品質に関連しているなど、リンクされていますASPの友人は、何の小さな助けがなくてもよいです。

方法の一つ:複雑なSQLは、単純なSQL効率の束よりも効率的に完了して、複雑なSQLクエリを使用するには、単純なSQL徹の単一束を大量に使用しないでください。うまく利用して、複数のクエリがある場合、JOIN。

次のクエリは効率的ではありません。

ORS = oConn.Execute( "ブックSELECT * FROM")
oRs.Eofはないが
います。strSQL = "SELECT WHERE AuthorID =作家* FROM" &ORS( "AuthorID")oRs2 = oConn.Execute(ます。strSQL)
のResponse.write ORS(「タイトル")&" >> "&oRs2("名前")&" 
&QのUOT; 
oRs.MoveNext()
WEND

次のコードは、上記よりもはるかに効率的になります。

ます。strSQLは= "本からBooks.Title、Authors.NameをSELECTはAuthors.AuthorID = Books.AuthorID ON著者のJOIN" 
ORS = oConn.Execute(ます。strSQL)
ないoRs.Eofながら
のResponse.Write ORS( "タイトル")& ">> "&ORS("名前")&" 
&OT QU; 
oRs.MoveNext()
WEND

方法2:ない最後の手段は、更新可能なレコードセットを使用していません

ORS = oConn.Executeは( "著者AuthorID = 17 SELECT * FROM"、3,3)
ORS( "名前")= "DarkMan" 
oRs.Update()

次のコードより遅い上記のコード:

ます。strSQL = "UPDATE著者セット名= 'DarkMan' AuthorID = 17" 
oConn.Executeます。strSQL

方法3:データベースを更新すると、SQLのバッチに大きなSQLで構成されているバッチ更新を使用しようと、実行します。1つの更新よりもはるかに良いです。

ます。strSQL = "" 
ます。strSQL =ます。strSQL& "XACT_ABORT ON \ nをSET"。
ます。strSQL =ます。strSQL& "TRANSACTIONを\ n BEGIN"。
ます。strSQL =ます。strSQL& "次数(ORDID、お客様ID、OrdDat)VALUES( '9999'、 '1234'、GETDATE())\ N。INSERT INTO"。
ます。strSQL =ます。strSQL& "OrderRows。INSERT INTO(ORDID、OrdRow、商品、数量)VALUES( '9999'、 '01'、 'G4385'、5)\ n"。
ます。strSQL =ます。strSQL& "OrderRows。INSERT INTO(ORDID、OrdRow、商品、数量)VALUES( '9999'、 '02'、 'G4726'、1)\ n"。
ます。strSQL =ます。strSQL& "TRANSACTIONの\ nをCOMMIT"。
ます。strSQL =ます。strSQL& "SET XACT_ABORT OFF \ nを"; 
oConn.Execute(ます。strSQL)。

これは、トランザクション処理が既に完了した取引をキャンセルし、エラーが発生した場合、SET XACT_ABORT OFFステートメントは、SQL Serverを伝えます。

方法4:あまりにもテキストフィールドを避けてください。文字列の大きさの値が固定されていない場合、VARCHARと効果はチャーよりも良好です。私は一度プログラムの例を見て、フィールドがTEXT(255)として定義され、彼の価値は、多くの場合のみ20文字です。このデータテーブルは50Kレコードを持っているので、これは大きなデータベース、大規模なデータベース必然的に遅いです。

方法5:データベースのインデックス。フィールドでの句が発生する必要がある場合、最高のインデックス;フィールドをソートする必要が、同じことを行う必要があります。

おすすめ

転載: www.cnblogs.com/lovefans168/p/10873491.html