sql >> Databáze >  >> RDS >> Sqlserver

seznam tabulek bez indexů v sql 2008

To by mělo pokrývat to, co hledáte. tj. tabulky, které jsou hromady (žádný seskupený index) a nemají žádné neshlukované indexy. Používá nový sys. tabulkové objekty používané v letech 2005/2008.

kromě toho budete pravděpodobně chtít hledat tabulky, které mají seskupený index, ale nemají žádné neshlukované indexy (toto je 2. část prohlášení, kterou jsem nechal okomentovat.

SELECT 
     schemaname = OBJECT_SCHEMA_NAME(o.object_id)
    ,tablename = o.NAME
FROM sys.objects o
INNER JOIN sys.indexes i ON i.OBJECT_ID = o.OBJECT_ID
-- tables that are heaps without any nonclustered indexes
WHERE (
        o.type = 'U'
        AND o.OBJECT_ID NOT IN (
            SELECT OBJECT_ID
            FROM sys.indexes
            WHERE index_id > 0
            )
        )
        --    OR
        -- table that have a clustered index without any nonclustered indexes
        --(o.type='U' 
        --        AND o.OBJECT_ID NOT IN (
        --    SELECT OBJECT_ID 
        --        FROM sys.indexes 
        --        WHERE index_id>1))  


  1. Název indexu MySQL a název cizího klíče se musí pro různé tabulky lišit?

  2. SQL Server:zaujalo GETDATE()

  3. Nějaké dobré návody na relační databáze?

  4. Připojení podle předchozího ekvivalentu pro MySQL