---
title: "SQLインデックスの保守戦略"
slug: "sql-index-maintenance-strategy"
abstract: "SQLインデックスの保守に関する推奨事項。"
---
# SQLインデックスの保守戦略

SQLインデックスの保守戦略を検討する際は、以下の閾値を考慮し、T-SQLを使って断片化を検証してください。

断片化の閾値:

-   ≥ 50%:再建指数
-   30–49%:再編成指数
-   < 30%:行動なし

このT-SQLを使って断片化をチェックします:

SELECT
DB\_NAME() AS DBName,
OBJECT\_NAME(ps.object\_id) AS TableName,
i.name AS IndexName,
ips.index\_type\_desc,
ips.avg\_fragmentation\_in\_percent
FROM sys.dm\_db\_partition\_stats ps
INNER JOIN sys.indexes i
ON ps.object\_id = i.object\_id
AND ps.index\_id = i.index\_id
CROSS APPLY sys.dm\_db\_index\_physical\_stats(
DB\_ID(), ps.object\_id, ps.index\_id, null, 'LIMITED'
) ips
ORDER BY ips.avg\_fragmentation\_in\_percent DESC;