Tabulce bez clusterovaného indexu se říká heap (hromada), protože je to jen hromada neuspořádaných dat. Naopak tabulka s clusterovaným indexem je lépe strukturovaná do balanced tree. Primární klíč je sám o sobě clusterovaným indexem a měla by ho mít každá tabulka.

Optimalizovaná tabulka nebo dotaz uspořádaná do balanced tree daleko lépe v rámci datového modelu performuje při dotazech. Kromě zmíněného primární klíč také hlídá unikátnost záznamů. Výše zmíněné je důležité pro správné fungování datového skladu.

Jak najít seznam tabulek bez primárního klíče?

K tomu využijeme systémových tabulek. Seznam indexů se ukrývá v tabulce sys.indexes a seznam tabulek zase v sys.tables. Obě tabulky lze propojit přes atribut object_id.

SELECT
   [Tab].[name]          AS [Tabulka]
FROM sys.tables [tab]
LEFT JOIN sys.indexes [ind]
   ON [tab].[object_id] = [ind].[object_id]
WHERE [ind].[is_primary_key] <> 1

Tabulka sys.indexes má atribut is_primary_key, takže po propojení si můžeme zobrazit tabulky, u kterých se nenachází v tabulce indexů žádný index typu primární klíč. Podobným způsobem lze zobrazi tabulky které mají/nemají CLUSTERED/NONCLUSTERED index a podobně.

Pokud by nás zajímalo v jakém stavu jsou naše indexy z pohledu fragmentace, tak tato indormace se zase nachází v tabulce sys.dm_db_index_physical_stats. Skript, který vyhledá fragmentované indexy a opravíá je najdete v článku – SQL Automatická oprava indexů v SQL Server + skript

5/5 - (1 vote)

Ing. Jan Zedníček - Data & Finance

Jmenuji se Honza Zedníček a působím jako freelancer. Tuto práci dělám pro různé firmy již přes 10 let. Před tím jsem dlouhou dobu pracoval také jako BI developer, finanční controller a analytik. Vše pro společnosti z oblasti IT, bankovnictví a výroby. Po práci si rád zahraju tenis, volejbal, šachy a zajdu do posilovny. Svoje znalosti a názory se snažím už několik let zapisovat na tento web, aby sloužily i někomu dalšímu - zejména studentům a zájemcům o informace z oblastí Business intelligence, korporátních financí a reportingu.

=> Přihlašte se do naší Excel facebook skupiny (1.4k+ členů), kde si pomáháme Excel CZ/SK diskuse »
=> Pokud vám článek pomohl, sdílejte ho nebo mě uveďte na vašich webových stránkách jako užitečný zdroj informací.

Leave a Reply

Your email address will not be published. Required fields are marked *