私は SQL Server 2012 にデータベースを持っていますが、いくつかのテーブルがしばらくすると遅くなるという問題があり、インデックスを再構築することで解決します。それらのいずれかで何が間違っている可能性があるかについて誰かがアドバイスを持っているかどうか疑問に思っていました.私はそれらの構造とインデックスを以下に投稿します. 私はこの構造を自分で構築していませんが、変更するための完全なアクセス権があります。
表1
- ID (int、null 以外)
- タイプ (tinyint、null 以外)
- 名前 (PK、nvarchar(255)、null 以外)
- fkID (PK、int、null 以外)
- UID (int、null 以外)
インデックス:
- I_UID (ユニーク、クラスター化されていない) [UID]
- I_Name (非一意、非クラスター化) [タイプ,名前]
- pk_Name (クラスター化) [名前、fkID]
表2
- ID (PK、bigint、null 以外)
- 名前 (nvarchar(50)、null 以外)
- ShortValue (nvarchar(250), null)
- StringValue (nvarchar(max), null)
- IntValue (整数、ヌル)
- FloatValue (フロート、ヌル)
- DateTimeValue (日時、null)
- BoolValue (ビット、ヌル)
- fkPID (FK、int、null)
- fkAID (FK、int、null)
- fkAGID (FK、int、null)
- fkVID (FK、int、null)
- fkCID (FK、int、null)
- fkL (FK、int、null 以外)
- fkIMID (FK、null 以外)
- fkPRID (FK、int、null)
- fkNID (整数、ヌル)
インデックス:
- I_AG (非固有、非クラスター化) [fkAGID]
- I_IM (非固有、非クラスター化) [fkIMID]
- I_R (非固有、非クラスター化) [fkPRID]
- PK_D (クラスター化) 5447370
- I_PDL (非固有、非クラスター化) [fkL]
表3
- ID (PK、int、null 以外)
- fkPID (FK、int、null 以外)
- fkAID (FK、int、null 以外)
- 並べ替え (int、null 以外)
- グループ (nvarchar(50)、null)
- サイズ (int、null)
- FMB (nvarchar(50)、ヌル)
インデックス:
- PK_D (クラスター化) 5447370
- I_PAA (非固有、非クラスター化) [fkAID]
- I_PAP (非固有、非クラスター化) [fkPID]
- I_PAPID (非固有、非クラスター化) [fkPID、fkAID]