Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

lista tabel bez indeksów w sql 2008

Powinno to obejmować to, czego szukasz. tj. tabele, które są stertami (bez indeksu klastrowego) i nie mają żadnych indeksów nieklastrowanych. Wykorzystuje nowy system. obiekty stołowe używane w latach 2005/2008.

ponadto prawdopodobnie chcesz poszukać tabel, które mają indeks klastrowy, ale nie mają indeksów nieklastrowych (jest to druga część instrukcji, którą pominąłem w komentarzu).

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównanie dat zapisanych jako varchar

  2. Jakie są rodzaje ograniczeń dostępnych w SQL Server — SQL Server / samouczek T-SQL, część 50

  3. Przeczytaj zadeklarowany poziom izolacji Snapshot VS Snapshot

  4. Dzielenie bardzo dużego ciągu z niestandardowym ogranicznikiem?

  5. Aktualizowanie rekordów SQL Server 2008 z typami danych przestrzennych za pomocą Massive ORM (ExecuteNonQuery), błąd UdtTypeName