172 похожих чатов

Всем привет. Подскажите пожалуйста, будет ли разница в скорости заливки

данных через insert в таблицу без индексов и заливку этих же данных через insert в таблицу с индексами?
postgresql 14

7 ответов

11 просмотров

Конечно будет... Представьте, что кроме того что вы записываете в тетрадку, вам в другую тетрадку надо выписывать ещё первые буквы каждого слова

В общем случае индексы ускоряют только запросы на выборку. Запросы на изменение данных (insert, update, delete) индексы будут "тормозить", поскольку будут требовать собственного обновления в связи с операцией.

Михаил- Автор вопроса
Михаил
т.е. без индексов будет быстрее?

вставка — быстрее. иногда значительно, иногда немного. выборка, соответственно, будет либо медленнее, либо с той же скоростью, что и без индексов.

Михаил
т.е. без индексов будет быстрее?

Если у нас планируется большой объем изменений - мы отключаем нахрен все индексы. Проводим изменения, пересобираем индексы вручную. Если объем изменений не большой индексы в целом можно не отключать.

aartem
Если у нас планируется большой объем изменений - м...

единственно, стоит упомянуть, что это не всегда позволительно — отключить индексы. зависит от того, насколько замедляется запрос без них и позволительно ли подобное замедление.

Михаил
т.е. без индексов будет быстрее?

Быстрее - однозначно... А вот правильнее ли это? Это только вам известно... Пляшите от задач, которые вы возлагаете на эту таблицу... Начинается всё с кучи без индексов. Запись будет максимально быстрая... Чтение максимально медленное... Годится для журналов, которые читать надо раз в пятилетку и можно небыстро... Таблица же, которую по бизнесу надо читать и быстро находить в ней нужное - вы обвешиваете индексами... И чем разнообразнее запросы и чем быстрее надо - тем больше индексов... Но замедляете вставку... Это всегда компромис...

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта