Ustawianie opcji indeksu
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL 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:
Aby zmodyfikować właściwości indeksu, użyj polecenia:
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
- W Eksploratorze obiektów kliknij znak plus, aby rozwinąć bazę danych zawierającą tabelę, na której chcesz zmodyfikować właściwości indeksu.
- Kliknij znak plusa, aby rozwinąć folder Tables.
- Kliknij prawym przyciskiem myszy tabelę, na której chcesz zmodyfikować właściwości indeksu, a następnie wybierz pozycję Design.
- W menu projektanta tabel kliknij indeksy/klucze.
- Wybierz indeks, który chcesz zmodyfikować. Jego właściwości będą wyświetlane w głównej siatce.
- Zmień ustawienia dowolnych właściwości, aby dostosować indeks.
- Kliknij Zamknij.
- W menu Plik wybierz pozycję Zapisztable_name.
Aby zmodyfikować właściwości indeksu w Eksploratorze obiektów
- W Eksploratorze obiektów kliknij znak plus, aby rozwinąć bazę danych zawierającą tabelę, na której chcesz zmodyfikować właściwości indeksu.
- Kliknij znak plusa, aby rozwinąć folder Tables.
- Kliknij znak plusa, aby rozwinąć tabelę, w której chcesz zmodyfikować właściwości indeksu.
- Kliknij na znak plusa, aby rozwinąć katalog Indeksy.
- Kliknij prawym przyciskiem myszy indeks, którego właściwości chcesz zmodyfikować, a następnie wybierz pozycję Właściwości.
- W obszarze Wybierz stronęwybierz Opcje.
- Zmień ustawienia dowolnych lub wszystkich właściwości, aby dostosować indeks.
- 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).