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

Привет. ОРМка генерит дважды дублирующийся where clause через AND -

замедлит ли это запрос?

10 ответов

8 просмотров

explain ... ваш запрос все покажет

what ? какие ваши доказательства ? запросик в студию

Maxim- Автор вопроса
Сергей Кравчук
what ? какие ваши доказательства ? запросик в студ...

Сам запрос скинуть не могу, увы, а в общих чертах вот что происходит: SELECT A.* FROM A JOIN B ON B.fk = A.pk WHERE B.col1 = val1 AND B.col2 = val2 AND B.col1 = val1 GROUP BY A.pk ORDER BY A.seqnum DESC LIMIT 500

Maxim
Сам запрос скинуть не могу, увы, а в общих чертах ...

Если не секрет, это что за ORM генерит так? Запрос не замедлит, просто интересно

Maxim
Сам запрос скинуть не могу, увы, а в общих чертах ...

аа, думаю что это совсем не страшно и постгрес на этапе подготовки запроса проигнорирует данное условие а вообще.. может дело не в orm, а в конкретно написанном в ней запросе ?

Maxim- Автор вопроса
Dmitriy Sviridov
Если не секрет, это что за ORM генерит так? Запрос...

Алхимия. Но тут дело в том, что наш билдер квери дважды этот clause записал - интересуюсь, так ли это критично, поскольку починить немного трудно

Maxim
Алхимия. Но тут дело в том, что наш билдер квери д...

Так возьмите 2 варианта запроса и сравните вывод EXPLAIN для них. EXPLAIN ANALYZE SELECT ...

Maxim- Автор вопроса
Dmitriy Sviridov
Так возьмите 2 варианта запроса и сравните вывод E...

В EXPLAIN ничего не меняется, разве что execution time без второго clause в среднем самую малость меньше. Решил переспросить, нет ли подводных камней. Благодарю

Maxim
В EXPLAIN ничего не меняется, разве что execution ...

"execution time без второго clause в среднем самую малость меньше" - я думаю, это не связано с наличием/отсутствием второго условия. Время выполнения запроса всегда слегка различается - это нормально

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно 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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта