Saya ingin menambahkan indeks ke beberapa kolom dalam tabel tentang pembuatan. Apakah ada cara untuk menambahkannya ke definisi CREATE TABLE atau apakah saya harus menambahkannya setelahnya dengan kueri lain?
CREATE INDEX reply_user_id ON reply USING btree (user_id);
postgresql
database-schema
database-indexes
Xeoncross
sumber
sumber
Tidak.
Namun, Anda dapat membuat
unique
indeks dalam pembuatan, tetapi itu karena mereka digolongkan sebagai batasan . Anda tidak dapat membuat indeks "umum".sumber
Anda sedang mencari definisi indeks sebaris , yang tidak tersedia untuk PostgreSQL hingga versi 12. Kecuali kendala UNIQUE / PRIMARY KEY, yang membuat indeks dasar untuk Anda.
BUAT TABEL
Sintaks sampel definisi kolom sebaris (di sini SQL Server):
db <> demo biola
Alasan di balik memperkenalkannya cukup menarik Apa itu Indeks Inline? oleh Phil Factor
sumber
b VARCHAR(10) NOT NULL INDEX idx_tab_b gin (b gin_trgm_ops)
.. bagaimana menambahkan lebih banyak parameter tanpa mengulang nama kolom?CREATE INDEX idxName ON tableName USING MethodName (fieldName optionName);
menjadi sintaks definisi indeks sebaris . NB: pertanyaan ini tentang PostgreSQL bukan Microsoft-SQL-Server (lihat tag).