1

矛盾しているように見えるsybaseガイドの次のステートメントを読みました。私はデータベース チューニングの初心者なので、これらを調整するための助けをいただければ幸いです。

1.環境で多くの挿入が必要な場合は、IDENTITY 列などの着実に増加する値にクラスター化インデックス キーを配置しないでください。

2.クラスター化されたインデックスは、キーが次のような範囲クエリの検索引数と一致する場合に非常に優れたパフォーマンスを提供します。 where colvalue >= 5 and colvalue < 10

4

2 に答える 2

0

これは、ID 列にクラスター化インデックスを作成すると、挿入が 1 ページのみで行われるためです。複数のプロセスがある場合、各プロセスが最後のページでロックを取得しようとするため、プロセスは互いにブロックされます。

クラスター化インデックスの利点の 1 つは、INSERTS がテーブル全体に分散されることです。これは、このようなマルチプロセス環境でのブロックを防ぐのに非常に役立ちます。

于 2013-08-25T16:48:11.017 に答える
0

これらのステートメントは互いに矛盾しません。

最初のステートメントは、テーブルへのINSERTSを処理します。自動インクリメント IDENTITY 列がある場合、クラスター化インデックスによってオーバーヘッドが追加されますが、メリットはあまりありません。(クラスター化インデックスは、インデックス キーに基づいてデータを順番に保持することに注意してください...インデックス キーがIDENTITY列の場合は、既に順番に保持されています)

2 番目のステートメントは SEARCHES を扱います。読み取り/更新のためにデータを取得する場合、検索キーがクラスター化インデックスと一致する場合、インデックスによってパフォーマンスが向上する可能性があります。

これが、挿入、更新、または検索を調整する必要があるかどうかを理解するために、データベースでどのようなアクティビティが予想されるかを理解することが重要である理由です。それらの組み合わせ。

于 2013-03-27T18:29:45.323 に答える