Chcę dodać indeksy do niektórych kolumn w tabeli podczas tworzenia. Czy istnieje sposób, aby dodać je do definicji CREATE TABLE, czy też muszę dodać je później za pomocą innego zapytania?
CREATE INDEX reply_user_id ON reply USING btree (user_id);
postgresql
database-schema
database-indexes
Xeoncross
źródło
źródło
Nie.
Możesz jednak tworzyć
unique
indeksy podczas tworzenia, ale to dlatego, że są one klasyfikowane jako ograniczenia . Nie możesz utworzyć indeksu „ogólnego”.źródło
Poszukujesz definicji indeksu wbudowanego , która nie jest dostępna dla PostgreSQL do aktualnej wersji 12. Z wyjątkiem ograniczenia UNIQUE / PRIMARY KEY, które tworzy indeks bazowy.
UTWÓRZ TABELĘ
Przykładowa składnia definicji kolumn wbudowanych (tutaj SQL Server):
db <> fiddle demo
Uzasadnienie ich wprowadzenia jest dość interesujące. Czym są indeksy wbudowane? przez Phil Factor
źródło
b VARCHAR(10) NOT NULL INDEX idx_tab_b gin (b gin_trgm_ops)
.. jak dodać więcej parametrów bez powtarzania nazwy kolumny?CREATE INDEX idxName ON tableName USING MethodName (fieldName optionName);
w składnię definicji indeksu wbudowanego . PS: to pytanie dotyczy PostgreSQL, a nie Microsoft-SQL-Server (zobacz tagi).