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

Всем привет. Тут знакомый проходил собес и там ему задали

такой вопрос: "Какое максимальное количество индексов может быть задействовано в рамках одного запроса для одной таблицы".

Есть разве какое-то ограничение на уровне СУБД?

14 ответов

21 просмотр

Для таблицы ограничения есть, мб про это речь

Vasilii-Bliznetsov Автор вопроса
central hardware
Для таблицы ограничения есть, мб про это речь

Ограничение на количество созданных, а в вопросе про используемые в рамках какого-либо запроса

Если верить вот этому то ограничений на использование индексов в запросе нет https://www.postgresql.org/docs/14/indexes-bitmap-scans.html

Vasilii-Bliznetsov Автор вопроса
Valery
Если верить вот этому то ограничений на использова...

Ну да, и ограничений на кол-во индексах в одной таблице тоже нет. Т.е по идее можно вообще не ограниченное кол-во индексов сделать в таблице (по одному на колонку, составные), и их же использовать в запросе, чисто гипотетически

Vasilii Bliznetsov
Ну да, и ограничений на кол-во индексах в одной та...

И выхватить просадку вставки/обновления.... Все хорошо в меру

Vasilii-Bliznetsov Автор вопроса
Valery
И выхватить просадку вставки/обновления.... Все хо...

Это само собой. Ту вопрос про возможное количественное ограничение. То что при встаке больно будет это понятно)

Интересный вопрос, но почти уверен, что тот, кто спрашивал сам не знает ответа. Каждый индекс это запись в pg_catalog.pg_index, там имеется служебная колонка OID, тип oid это unsigned 4-byte integer. Т.е. лимит на количество индексов 2^32, в теории, однако, что будет если создать 2^32+1 надо проверять.

Kirill P
Интересный вопрос, но почти уверен, что тот, кто с...

Зачем кому-то может понадобиться 4млрд индексов?)

Нулевое приближение: не более одного. Первое приближение: bitmap_index_scan может пройтись по нескольким индексам, а потом пересечь/объединить карты. Не встречал, чтобы больше двух индексов сразу, но, наверное, бывает. Ну и понятно, что это для 1 синонима таблицы. Если таблица в запросе 10 раз, то 10 разных индексов может быть использовано

alex che
Нулевое приближение: не более одного. Первое прибл...

Через or можно по идее хоть все индэксы прямым сканированием туда напихать.

alex che
Нулевое приближение: не более одного. Первое прибл...

+1 Вопрос, как мне кажется, не такой уж и глупый и рассчитан не знание всяких ограничений конкретной СУБД, а на общую логику выполнения запроса. Если не учитывать bitmap-index-scan с пересечением битмапов, который хотя и использует индексы, но всё таки скорее яаляется разновидностью последовательного поиска, то индекс для одной таблицы можно использовать только один раз - остальные условия уже придётся фильтровать.

Konstantin Knizhnik
+1 Вопрос, как мне кажется, не такой уж и глупый и...

В вопросе не использование а задействование, что несколько шире

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

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

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