Я хочу добавить индексы к некоторым столбцам таблицы при создании. Есть ли способ добавить их в определение CREATE TABLE или мне нужно добавить их позже с другим запросом?
CREATE INDEX reply_user_id ON reply USING btree (user_id);
postgresql
database-schema
database-indexes
Xeoncross
источник
источник
Нет.
Однако вы можете создавать
unique
индексы при создании, но это потому, что они классифицируются как ограничения . Вы не можете создать «общий» индекс.источник
Вы ищете определение встроенного индекса , которое недоступно для PostgreSQL до текущей версии 12. За исключением ограничения UNIQUE / PRIMARY KEY, которое создает для вас базовый индекс.
СОЗДАТЬ ТАБЛИЦУ
Пример синтаксиса определения встроенного столбца (здесь SQL Server):
db <> демо скрипта
Обоснование их введения довольно интересно. Что такое встроенные индексы? Автор Фил Фактор
источник
b VARCHAR(10) NOT NULL INDEX idx_tab_b gin (b gin_trgm_ops)
.. как добавить больше параметров без повторения имени столбца?CREATE INDEX idxName ON tableName USING MethodName (fieldName optionName);
в синтаксис определения встроенного индекса . PS: этот вопрос касается PostgreSQL, а не Microsoft-SQL-Server (см. Теги).