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

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

добавляют условие where evnt.description_id = 4, он буквально вместо 200ms отрабатывает секунды полторы. Индекс тут поможет? Или запрос не самый оптимальный?

11 ответов

14 просмотров

А Вы покажите: 1. Версию PosgreSQL. 2. Запрос. 3. План — именно EXPLAIN (ANALYZE, BUFFERS) и, желательно: 4. \d каждой используемой в запросе таблицы. Всё текстом, конечно (можно на paste site). Может, подскажут что-то...

Злой-Помидор Автор вопроса
Yaroslav Schekin
А Вы покажите: 1. Версию PosgreSQL. 2. Запрос. 3. ...

https://pastebin.com/Rhfx1Te3 вот так вроде все это робит

Злой Помидор
https://pastebin.com/Rhfx1Te3 вот так вроде все эт...

И из 4 пунктов, которые я просил, Вам удался один. Попробуйте ещё раз. ;) Дело в том, что без этой информации все "подсказки" обычно приходят к просьбам сначала показать эту информацию (я же не просто так всё это написал).

Злой-Помидор Автор вопроса
Yaroslav Schekin
И из 4 пунктов, которые я просил, Вам удался один....

Таблицы которые учавствуют в подзапросе inner join ddl не нужны? они большие и если в них проблемы думаю explain покажет

Злой-Помидор Автор вопроса
Злой Помидор
Спасибо

Хмм... мне кажется, или у Вас с самим запросом что-то не так? SELECT obj.id, obj.name, evnt.description_id, evnt.po_time FROM data_guardobject AS obj CROSS JOIN LATERAL ( SELECT ev.description_id, ev.po_time FROM data_event AS ev INNER JOIN data_device AS dev -- 1:1 ON ev.device_id = dev.id INNER JOIN data_guardzone AS zn -- data_guardzone(guard_object_id) REFERENCES data_guardobject(id) /* 1:N? */ ON dev.guardzone_id = zn.id WHERE zn.guard_object_id = obj.id -- 1:N? ORDER BY ev.po_time DESC NULLS LAST -- зачем? это поле --- NOT NULL LIMIT 1 ) AS evnt WHERE evnt.description_id = 4; -- почему условие не внутри "evnt"?

Злой-Помидор Автор вопроса
Yaroslav Schekin
Хмм... мне кажется, или у Вас с самим запросом что...

оно выберет для каждого объекта евент 4/ А мне надо все строки с последними id по которым потом отсортировать те, где id 4

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта