Udostępnij za pośrednictwem


Ustawianie opcji indeksu

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL Database w Microsoft Fabric

W tym temacie opisano sposób modyfikowania właściwości indeksu w programie SQL Server przy użyciu programu SQL Server Management Studio lub Transact-SQL.

w tym artykule

Przed rozpoczęciem

Ograniczenia i ograniczenia

  • Następujące opcje są natychmiast stosowane do indeksu przy użyciu klauzuli SET w instrukcji ALTER INDEX: ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, OPTIMIZE_FOR_SEQUENTIAL_KEY, IGNORE_DUP_KEY i STATISTICS_NORECOMPUTE.
  • Następujące opcje można ustawić podczas odbudowywania indeksu przy użyciu polecenia ALTER INDEX REBUILD lub CREATE INDEX WITH DROP_EXISTING: PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP i DROP_EXISTING (tylko CREATE INDEX).

Bezpieczeństwo

Uprawnienia

Wymaga uprawnienia ALTER w tabeli lub widoku.

Korzystanie z programu SQL Server Management Studio

Aby zmodyfikować właściwości indeksu w projektancie tabel

  1. W Eksploratorze obiektów kliknij znak plus, aby rozwinąć bazę danych zawierającą tabelę, na której chcesz zmodyfikować właściwości indeksu.
  2. Kliknij znak plusa, aby rozwinąć folder Tables.
  3. Kliknij prawym przyciskiem myszy tabelę, na której chcesz zmodyfikować właściwości indeksu, a następnie wybierz pozycję Design.
  4. W menu projektanta tabel kliknij indeksy/klucze.
  5. Wybierz indeks, który chcesz zmodyfikować. Jego właściwości będą wyświetlane w głównej siatce.
  6. Zmień ustawienia dowolnych właściwości, aby dostosować indeks.
  7. Kliknij Zamknij.
  8. W menu Plik wybierz pozycję Zapisztable_name.

Aby zmodyfikować właściwości indeksu w Eksploratorze obiektów

  1. W Eksploratorze obiektów kliknij znak plus, aby rozwinąć bazę danych zawierającą tabelę, na której chcesz zmodyfikować właściwości indeksu.
  2. Kliknij znak plusa, aby rozwinąć folder Tables.
  3. Kliknij znak plusa, aby rozwinąć tabelę, w której chcesz zmodyfikować właściwości indeksu.
  4. Kliknij na znak plusa, aby rozwinąć katalog Indeksy.
  5. Kliknij prawym przyciskiem myszy indeks, którego właściwości chcesz zmodyfikować, a następnie wybierz pozycję Właściwości.
  6. W obszarze Wybierz stronęwybierz Opcje.
  7. Zmień ustawienia dowolnych lub wszystkich właściwości, aby dostosować indeks.
  8. Aby dodać, usunąć lub zmienić położenie kolumny indeksu, wybierz stronę Ogólne z okna dialogowego Właściwości indeksu index_name. Aby uzyskać więcej informacji, zobacz Właściwości indeksu F1 — pomoc

Korzystanie z Transact-SQL

Aby wyświetlić właściwości wszystkich indeksów w tabeli

Poniższy przykład przedstawia właściwości wszystkich indeksów w tabeli w bazie danych AdventureWorks.

SELECT i.name AS index_name
   , i.type_desc
   , i.is_unique
   , ds.type_desc AS filegroup_or_partition_scheme
   , ds.name AS filegroup_or_partition_scheme_name
   , i.ignore_dup_key
   , i.is_primary_key
   , i.is_unique_constraint
   , i.fill_factor
   , i.is_padded
   , i.is_disabled
   , i.allow_row_locks
   , i.allow_page_locks
   , i.has_filter
   , i.filter_definition
FROM sys.indexes AS i
   INNER JOIN sys.data_spaces AS ds
      ON i.data_space_id = ds.data_space_id
   WHERE is_hypothetical = 0 AND i.index_id <> 0
       AND i.object_id = OBJECT_ID('HumanResources.Employee')
;

Aby ustawić właściwości indeksu

W poniższych przykładach ustawiono właściwości indeksów w bazie danych AdventureWorks.

ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
    Sales.SalesOrderHeader
SET (
    STATISTICS_NORECOMPUTE = ON,
    IGNORE_DUP_KEY = ON,
    ALLOW_PAGE_LOCKS = ON
    )
;
ALTER INDEX ALL ON Production.Product
REBUILD WITH 
   (
       FILLFACTOR = 80
       , SORT_IN_TEMPDB = ON
       , STATISTICS_NORECOMPUTE = ON
   )
;

Aby uzyskać więcej informacji, zobacz ALTER INDEX (Transact-SQL).