Saturday, December 26, 2020

Missing/Required Indexes of SQL Server

 To find required indexes in SQL execute below. It has to be discuss with development team before creation....



SELECT MID.[statement] AS ObjectName

,MID.equality_columns AS EqualityColumns

,MID.inequality_columns AS InequalityColms

,MID.included_columns AS IncludedColumns

,MIGS.last_user_seek AS LastUserSeek

,MIGS.avg_total_user_cost

* MIGS.avg_user_impact

* (MIGS.user_seeks + MIGS.user_scans) AS Impact

,N'CREATE NONCLUSTERED INDEX <Add Index Name here> ' +

N'ON ' + MID.[statement] +

N' (' + MID.equality_columns

+ ISNULL(', ' + MID.inequality_columns, N'') +

N') ' + ISNULL(N'INCLUDE (' + MID.included_columns + N');', ';')

AS CreateStatement,

MIGS.user_seeks, MIGS.user_scans

FROM sys.dm_db_missing_index_group_stats AS MIGS

INNER JOIN sys.dm_db_missing_index_groups AS MIG

ON MIGS.group_handle = MIG.index_group_handle

INNER JOIN sys.dm_db_missing_index_details AS MID

ON MIG.index_handle = MID.index_handle

WHERE database_id = DB_ID()

AND MIGS.last_user_seek >= DATEDIFF(month, GetDate(), -1)

ORDER BY user_seeks DESC


/*

sp_helpindex contract

go

sp_spaceused [CashPlusPayments]

DealerID, PaymentID, ContractTypeID

DealerID, ProductID, EndDate

*/

No comments:

Post a Comment