[DB] 找出缺少叢集索引Table

[懶人包] 找出缺少叢集索引Table
近期有發生語法效能問題,問題是遺漏建立索引,這邊提供給大家懶人包
可針對單一資料庫找出遺漏的資料表,並提供建立語法 (以第一個欄位為索引欄位)

--2015-03-18 v1.0-alpha
--找出未建立建立叢集索引的Table,並提供建立語法 (以第一個欄位為索引欄位)
--DB_NAME: 檢查的資料庫名稱
USE [DB_NAME]
GO

SELECT
a.name AS 'TABLE_NAME', 
(SELECT TOP 1 'CREATE CLUSTERED INDEX CX_' + a.name + '_' + name +' ON ' + a.name + '(' + name +');'
FROM sys.columns c WHERE a.object_id = c.object_id) AS 'CREATE INDEX'
FROM sys.tables a
LEFT JOIN sys.indexes b
ON a.object_id = b.object_id
AND b.type_desc = 'CLUSTERED'
WHERE b.name IS NULL;

留言