この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 4|答える: 1

[通信] SQL Serverは本番環境でインデックスを追加します

[リンクをコピー]
掲載地10分前 | | |
要件:数千万件のデータを持つテーブルがある場合、クエリ効率を高めるために集約されていないインデックスをテーブルに追加する必要がありますが、データベースはすでに本番環境で稼働しており、多くのアプリケーションがテーブル上で追加、削除、変更、クエリ操作を行っているため、複数のスレッドがテーブル上で操作を行っています。 テーブル上で通常のインデックス追加文を使うと、本番環境でのプログラム実行が異常(ブロッキングや実行タイムアウトなど)になります。

クラスタでないインデックスを追加する通常のSQL文は以下の通りです。

非クラスタインデックスを追加するためのセキュリティ最適化されたSQL文は以下の通りです:

解釈:

ONLINE = ON Role:インデックス作成時にテーブルのクエリ、挿入、更新、削除(すなわち「オンライン」操作)をユーザーが行えるようにし、Enterprise Editionのみでサポートされています。
SORT_IN_TEMPDB = ON機能:インデックス作成や再構築に必要な「一時的なソートデータ」を、ビジネスデータベースからtempdbに転送します。私が作業中のビジネスデータベースには転送しません。
MAXDOP = 4 役割:MAXDOPを指定し、すべてのスケジューラを占有しないように並列処理を制限します。すなわち、インデックス操作を最大4つのCPUコア(スレッド)と並列に制限します。

参考:

ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。




先の:.NET/C# 開発者用スイスアーミーナイフ LINQPad 9 購入チュートリアル
 地主| 掲載地8分前 |
SQL Serverはインデックスを作成します
https://www.itsvse.com/thread-8155-1-1.html
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com