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

Все-Таки, почему не пишется нигде (может не читал) и не

предлагается, что если создаем внешний ключ - надо создать индекс по полю? Или оно только при удалении помогает, а в реальных условиях не дает прироста?

17 ответов

14 просмотров

В документацыи постгреса это написано.

Потому что он может использоваться, например, только для обеспечения целостности (не используется в JOIN) - и тогда смысла в индексе никакого

Это действительно написано, проверка записи выполняется условно простым select

Delphi-Photo Автор вопроса
Dmitriy Sviridov
Потому что он может использоваться, например, толь...

то есть если я не делаю удаления, в остальных случаях он может только мешать?

Delphi-Photo Автор вопроса
Konstantin Zaitsev
Есть, select выполняется всегда

так что делать :))))) Я уже пошел создавать индекс налево и направо, где есть по полю внешний ключ :))) Или кашу маслом....

Konstantin Zaitsev
Есть, select выполняется всегда

Есть таблица с книгами (book) и полем user_id (на котором внешний ключ для обеспечения целостности данных), а есть таблица user с пользователями. Если я не делаю запросов на выборку из двух таблиц сразу, то зачем мне индекс на book.user_id?

Delphi Photo
то есть если я не делаю удаления, в остальных случ...

Нет, почему. Как и любой индэкс — он добавляет возможных путей планировщику.

Delphi-Photo Автор вопроса
Ilya Anfimov
Нет, почему. Как и любой индэкс — он добавляет воз...

ок, пусть висит тогда индекс, даже если и лишний, как в том анекдоте про эстонца и дохлую ворону - "нэ приггодиллас" :)

Он не лишний, он позволяет вам быстро проверять fk. И не постится с truncate

Я пример просто привёл. Случай, когда индекс на поле с внешним ключом, на мой взгляд, не нужен. Могу ошибаться, конечно

Delphi-Photo Автор вопроса
Konstantin Zaitsev
Он не лишний, он позволяет вам быстро проверять fk...

ну лишний, в том плане, что при инсерте он лишние миллисекунды заберет

Konstantin Zaitsev
Ну удалите пользователя )))

Если такие запросы появятся, то индекс потребуется. Но это не значит, что он нужен ВСЕГДА

Delphi Photo
ок, пусть висит тогда индекс, даже если и лишний, ...

Можно посмотреть используются ли Ваши индексы SELECT * FROM pg_catalog.pg_stat_all_indexes where ....;

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта