SQL Seznam tabulek bez primárního klíče – skript

Poslední aktualizace:

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.

Tabulka 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ů.

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

SQL Seznam tabulek bez primárního klíče – skript
5 (100%) 1 vote[s]

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody a Sberbank nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

Category: RSS 1 Exclude SQL Administrace Užitečné SQL skripty Tags:

About Ing. Jan Zedníček - BI Developer, Finance controller

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody a Sberbank nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.