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

SQL Server の断片化の問題

    クラスター化インデックスは、DISK 上のデータの順序を制御します。これは、クラスター化インデックスとして機能するように常に増加する整数キーを設定することが通常推奨される主な理由の 1 つです。このようにして、テーブルにデータが追加されると、それらは現在存在するデータの最後に追加されます。

    自動増加する数値ではなく、新しい行に既存の値の間のどこかに順序付けられる値が含まれている可能性がある場合、SQL Server は基本的に、データが属するディスクにデータをプッシュし (クラスター化されたインデックス キー値の順序を保持するため)、断片化を生成します。また、IO 書き込みによる深刻なオーバーヘッドが発生し、データベースの速度がさらに低下する可能性があります。

    UserRecord の値にも同じ問題があるのではないかと思います。

    したがって、私がすることは、クラスター化された自動増加主キーを各テーブルに個別に追加し、必要に応じて FK 参照とクエリを作り直すことです。




    1. PostgreSQLでEXCLUDEを使用して隣接/重複するエントリを防止する

    2. SQLServerデータベース内のすべてのNULL可能列を一覧表示します

    3. postgresデータベースの文字エンコードをどのように変更しますか?

    4. OracleStreamsで伝搬を常に有効に保つ