YetAnotherForum
სალამი სტუმარს ძებნა | აქტიური თემები | შესვლა | რეგისტრაცია

ფავორიტებში დამატება
Identify Obsolete Indexes
vajaGM Offline
#1 Posted : Saturday, June 15, 2013 3:07:49 PM

Rank: Administration

Medals:

Groups: Administrators
Joined: 10/20/2012
Posts: 106
Points: 327
Location: Tbilisi

Thanks: 0 times
Was thanked: 0 time(s) in 0 post(s)
BB კოდი:
select
'drop index ' + stats.table_name + '.' + i.name as DropIndexStatement,
stats.table_name as TableName,
i.name as IndexName,
i.type_desc as IndexType,
stats.seeks + stats.scans + stats.lookups as TotalAccesses,
stats.seeks as Seeks,
stats.scans as Scans,
stats.lookups as Lookups
from
(select
i.object_id,
object_name(i.object_id) as table_name,
i.index_id,
sum(i.user_seeks) as seeks,
sum(i.user_scans) as scans,
sum(i.user_lookups) as lookups
from
sys.tables t
inner join sys.dm_db_index_usage_stats i
on t.object_id = i.object_id
group by
i.object_id,
i.index_id
) as stats
inner join sys.indexes i
on stats.object_id = i.object_id
and stats.index_id = i.index_id
where stats.seeks + stats.scans + stats.lookups = 0 --Finds indexes not being used
and i.type_desc = 'NONCLUSTERED' --Only NONCLUSTERED indexes
and i.is_primary_key = 0 --Not a Primary Key
and i.is_unique = 0 --Not a unique index
and stats.table_name not like 'sys%'
order by stats.table_name, i.name
ქუოტა (Quote):
Sponsor  
 
Apex ltd. http://www.apex.ge
vajaGM Offline
#2 Posted : Saturday, June 15, 2013 4:07:13 PM

Rank: Administration

Medals:

Groups: Administrators
Joined: 10/20/2012
Posts: 106
Points: 327
Location: Tbilisi

Thanks: 0 times
Was thanked: 0 time(s) in 0 post(s)
-- სქემების გათვალისწინებით იგივე

BB კოდი:
WITH ct AS (SELECT     i.object_id, OBJECT_NAME(i.object_id) AS table_name, i.index_id, SUM(i.user_seeks) AS seeks, SUM(i.user_scans) AS scans, SUM(i.user_lookups)
                                                 AS lookups, sys.schemas.name
                          FROM          sys.tables AS t INNER JOIN
                                                 sys.dm_db_index_usage_stats AS i ON t.object_id = i.object_id INNER JOIN
                                                 sys.schemas ON t.schema_id = sys.schemas.schema_id
                          GROUP BY i.object_id, i.index_id, sys.schemas.name)
    SELECT     'drop index ' + QUOTENAME(stats.name) + '.' + QUOTENAME(stats.table_name) + '.' + i.name AS DropIndexStatement, stats.name AS schemaName,
                            stats.table_name AS TableName, i.name AS IndexName, i.type_desc AS IndexType, stats.seeks + stats.scans + stats.lookups AS TotalAccesses,
                            stats.seeks AS Seeks, stats.scans AS Scans, stats.lookups AS Lookups
     FROM         ct AS stats INNER JOIN
                            sys.indexes AS i ON stats.object_id = i.object_id AND stats.index_id = i.index_id
     WHERE     (stats.seeks + stats.scans + stats.lookups = 0) AND (i.type_desc = 'NONCLUSTERED') AND (i.is_primary_key = 0) AND (i.is_unique = 0) AND
                            (stats.table_name NOT LIKE 'sys%')
     ORDER BY TableName, IndexName
ქუოტა (Quote):
Users browsing this topic
Guest
ფავორიტებში დამატება
Forum Jump  
თქვენ არ შეგიძლიათ დაწეროთ ახალი თემა ამ ფორუმში.
თქვენ არ შეგიძლიათ გასცეთ პასუხი, თემას, ამ ფორუმში .
თქვენ არ შეგიძლიათ წაშალოთ თქვენი პოსტი ამ ფორუმში.
თქვენ არ შეგიძლიათ ჩაასწოროთ თქვენი პოსტი ამ ფორუმში.
თქვენ არ შეგიძლიათ შექმნათ გამოკითხვა ამ ფორუმში.
თქვენ არ შეგიძლიათ ხმის მიცემა ამ ფოუმში.

YAFVision Theme by Jaben Cargman (Tiny Gecko)
Powered by YAF | YAF © 2003-2009, Yet Another Forum.NET
This page was generated in 1.713 seconds.