столбцов
И создание multiple column индекса на те же самые столбцы это разные вещи?
Если да, то как оптимально создать несколько индексов на несколько столбцов?
create index i1 on table (c1);
create index i2 on table (c2);
...
И так далее
Или как то иначе?
Да, правильно. А что такое "оптимально"? Индексы создаются под конкретные запросы (ну или для поддержания constraints), если таких запросов нет, то оптимальным будет соответствующие индексы не создавать.
оптимально — индексы на все возможные колонки, пары, тройки и так далее во всех возможных порядках — если кошелёк, конечно, позволяет
Я имел в виду, может можно как-то сократить sql запрос Например в mysql можно создавать индексы на столбцы во время создания самой таблицы Но я так понимаю в постгресе так нельзя
как раз не оптимально создавать кучу индексов, которые в итоге никогда не пригодятся. Лишние индексы создают накладные расходы
никогда не говори никогда (ц)
> Я имел в виду, может можно как-то сократить sql запрос По созданию таблицы? Или какой? > Например в mysql можно создавать индексы на столбцы во время создания самой таблицы Правда? А каким образом, можете показать пример? > Но я так понимаю в постгресе так нельзя Нет, именно индексы — нельзя. Можно создавать только constraints (т.к. некоторые реализованы как индексы, то нужные индексы в таких случаях автоматически создаются).
А в чём он неправ? По-моему, всё именно так.
Если это не сарказм, то вот CREATE TABLE t ( c1 char(10), c2 char(20), INDEX (c1) );
Нет, не сарказм, и в PostgreSQL такого нет.
Обсуждают сегодня