sql >> データベース >  >> RDS >> Sqlserver

一括挿入を高速化するための非 ID 列のクラスター化インデックス?

    さて、私はそれをテストしてみました.2つの「チャンク定義」列にクラスター化インデックスを配置すると、テーブルのパフォーマンスが向上します.

    チャンクの挿入は、クラスター化された IDENTITY キーがあった状況と比較して比較的高速になり、クラスター化されたインデックスがない場合とほぼ同じ速度になりました。チャンクの削除は、クラスター化インデックスがある場合とない場合よりも高速です。

    削除または挿入したいすべてのレコードがハードディスクの特定の部分にまとめてあることが保証されているという事実は、テーブルを高速化すると思います-私には論理的に思えます.

    更新 :この設計で 1 年間経験した後、このアプローチが機能するには、すべてのインデックスの定期的な再構築をスケジュールする必要があると言えます (週に 1 回行います)。そうしないと、インデックスがすぐに断片化され、パフォーマンスが低下します。それにもかかわらず、パーティション化されたテーブルを使用した新しいデータベース設計への移行の過程にあります。これは、エンタープライズ サーバーのライセンス コストを除いて、基本的にあらゆる点で優れていますが、今ではすでに忘れています。少なくとも私は持っています。



    1. SUMによるMySQLグループ

    2. java.lang.AbstractMethodError:com.mysql.jdbc.Connection.isValid(I)Z

    3. MySQLのvarcharフィールドの最初と最後のタブを削除するにはどうすればよいですか?

    4. ストアドプロシージャ、関数、ルーチンの違いは何ですか?