0

+/- 8,000 万行 (パーティション分割) のテーブルがあります。

挿入が少し遅くなります (約 1 ~ 3 秒)。クエリ プランによると、挿入の 68% はclustered index insert. そのため、何が本当に時間を引き起こしているのかを言うのはちょっと難しいです。

とにかく、そのテーブルにはいくつかのインデックスがあり、中には 3 ~ 5 列のインデックスがあります。

私が知りたいのは、パフォーマンスに関して、どちらが優れているかです。複数の列を持ついくつかのインデックスを作成するか、列の少ない小さなインデックスを作成するかです。

すべてのヒントや提案を歓迎します。

4

1 に答える 1

4

クエリ プランは、挿入の 68% がクラスター化インデックスの挿入であると述べていますが、すべての挿入/更新および削除のテーブルにもいくつかのトリガーがあります。そのため、何が本当に時間を引き起こしているのかを言うのはちょっと難しいです。

問題の原因があなたの引き金であることは明らかだと思います。トリガーのないこのような小さなテーブルでは、単一の行を挿入するのに 3 秒かかることはほとんどありません。それらを削除してみて、挿入がまだ遅いかどうかを確認してください。

複数の列を含むいくつかのインデックスを作成するには、または列が少ないより小さなインデックスを作成するには?

クエリを見て、それらが使用しているインデックスを確認する必要があります。読み取りパフォーマンスを最適化するには、遅いクエリが有効な場合はインデックスを追加する必要があります。これは、特定のクエリに応じて、単一列インデックスまたは複数列インデックスのいずれかになります。書き込みパフォーマンスを最適化するには、未使用のインデックスを削除する必要があります。

于 2012-05-04T07:59:33.503 に答える