Vladislav Krasný

Projekty • utility • SQL

Projekty a malé utility

0 / 0

Tohle je moje „dílna“. Chci sem postupně dávat malé praktické věci pro SQL (a časem i další), aby byly rychle po ruce a daly se sdílet odkazem.

Hledej a filtruj. Stav se zapisuje do URL (bez knihoven).
Sdílej třeba: ?tag=mssql&q=folder

SQL utility

Každá utilita má název, krátký popis a štítky. Zatím jsou to placeholdery – kdykoliv je přepíšeš na reálné.

Nic nenalezeno. Zkus jiný štítek nebo zkrať vyhledávání.

Index check quickview

mssql link
Zobrazit kód
T-SQL Zkopíruj jedním klikem
declare @schema_name sysname = 'dbo';
declare @table_name  sysname = 'TvojeTabulka';

select
    db_name() as database_name,
    s.name        as schema_name,
    t.name        as table_name,
    i.name        as index_name,
    i.type_desc   as index_type,
    ips.page_count,
    ips.record_count,
    ips.avg_fragmentation_in_percent,
    us.user_seeks,
    us.user_scans,
    us.user_lookups,
    us.user_updates
from sys.indexes i
join sys.objects t
    on i.object_id = t.object_id
join sys.schemas s
    on t.schema_id = s.schema_id
outer apply sys.dm_db_index_physical_stats(
    db_id(), t.object_id, i.index_id, null, 'LIMITED'
) ips
left join sys.dm_db_index_usage_stats us
    on us.database_id = db_id()
   and us.object_id = i.object_id
   and us.index_id = i.index_id
where t.type = 'U'
  and i.index_id > 0
  and s.name = @schema_name
  and t.name = @table_name
order by
    ips.avg_fragmentation_in_percent desc,
    (isnull(us.user_seeks,0)+isnull(us.user_scans,0)) desc;