SQL Server Indonesia User Groups Community Mencari “Missing Index” untuk memperbaiki performance - Baby SQL ... (^.^)
Welcome to SQL Server User Group Indonesia
Sign in JoinHelp | Sign In Live ID

Mencari “Missing Index” untuk memperbaiki performance

Untuk menentukan index mana yang harus dibuat, selain menggunakan Database Engine Tuning Advisor, bisa juga dengan mencari Missing Index dan membasminya.

Untuk mencari Missing Index kita bisa menggunakan Missing Index DMVs:

SELECT TOP 100
    m.avg_total_user_cost,
    m.avg_user_impact,
    object_name(d.[object_id]) as object_name,
    d.equality_columns,
    d.inequality_columns,
    d.included_columns,
    d.[statement] [table name]
FROM sys.dm_db_missing_index_group_stats m
    INNER JOIN sys.dm_db_missing_index_groups g ON m.group_handle = g.index_group_handle
    INNER JOIN sys.dm_db_missing_index_details d ON d.index_handle = g.index_handle

atau dengan melihat ke cached plans:

SELECT top 100
    c.bucketid,
    c.refcounts,
    c.usecounts,
    c.size_in_bytes,
    DB_Name(p.[dbid]) as [DB_Name],
    object_name(p.[objectid], p.[dbid]) as [Object_Name],
    p.[query_plan]
from sys.dm_exec_cached_plans c
    outer apply sys.dm_exec_query_plan(c.plan_handle) p
WHERE
    DB_Name(p.[dbid]) = 'DatabaseName' AND
    CAST(p.query_plan as nvarchar(max)) like N'%<MissingIndexes>%'

kemudian klik di resultnya:

image

image

Published Thursday, June 18, 2009 5:07 AM by David

Comments

No Comments