奇妙なことに、私はSQLクエリを遅くする必要があると思います。現在私は、AdventureWorksデータベースを備えた社内開発サーバー上でMicrosoft SQL Server 2008 R2を使用しています。私はいくつかのコードをテストする過程にあり、実行しているクエリは、私が試しているものであっても速すぎます!SQLクエリを遅くするには?
基本的に私はカットオフフィーチャをテストしており、完了する前に切り取ることができるように十分に長いクエリが必要です。
残念ながら、ローカルインストールであるため、AdventureWorksデータベースには実際に私に適切なデータを提供するための単一のクエリまたは十分なテーブルはありません。私はちょうどそれが働いていたことを確認するためにテストして素晴らしい仕事
WAITFOR DELAY '01:00'
を試してみたが、今私は、データが半ばを読みオフストリーミング切ることができるかどうかをテストする必要があります。 WAITFORステートメントは、サーバーからデータを戻して積極的に取得する必要があるため、その点で私に正義を与えません。私の最初の直感は、複雑な計算を使用して速度を落とすことでしたが、SQLサーバーでクエリのすべての数値に37を掛けても、クエリがミリ秒単位で遅くなりました。私が試した第二の事は、サブクエリに
WAITFOR
ステートメントを埋め込むことでしたが、それはできません。最後に、私が試していない唯一のことは、複数のストアドプロシージャとその間に
WAITFOR
を実行することですが、私が必要とするものに対してはうまくいかないと思います。
私は、あなたがサーバーに近づいているときに非常にひどいクエリを作成することがどれほど難しいかに感心しました。
クエリを簡単に遅くする方法はありますか?
ありがとうございました!
ハッシュ/マージ;-)を使用する必要があるときにLOOP JOINを使用するように、通常オフラインのインデックスを強制的に*悪い*クエリを作成します。 –
いくつかの自己クロスジョインは、結果セットが大きければ、IOがボトルネックになります。 – Oded