|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Есть запрос c вложеным подзапросом такого типа: Код: sql 1. 2. 3.
Подзапрос (вложеный который) отрабатывает за 20мс. Сам запрос, без подзапроса тоже быстро отрабатывает. Но т.к. подзапросов этих очень много, весь запрос с подзапросом работает десятки секунд Подскажите, как его можно оптимизировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 18:49 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Архиневолокоточ ерепопиндрик-й, а что вам мешает инер джойн делать? Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 18:55 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Lonepsycho, Судя по лимиту в подзапрос - у человека отношение таблиц один-ко-многим. А мешает сделать через соединение, как всегда - недостаточное владение предметной областью.... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 18:58 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Щукина Анна, тогда надо знать больше о данных, которые там хранятся. в прочем, бесцеремонный лимит на селект по ид, без каких либо сортировок, момент интересный. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 19:11 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
LonepsychoЩукина Анна, тогда надо знать больше о данных, которые там хранятся. в прочем, бесцеремонный лимит на селект по ид, без каких либо сортировок, момент интересный. Верно подмечено. Я неправильно упростил суть запроса. В подзапросе естественно есть сортировка, по дате: нужно самое свежее значение. Вот так корректно: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 10:56 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
LonepsychoАрхиневолокоточ ерепопиндрик-й, а что вам мешает инер джойн делать? Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Это было бы слишком просто :) Во второй табличке с t1.id много записей, а нужна только самая свежая по date1. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 10:58 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Архиневолокоточ ерепопиндрик-йLonepsychoЩукина Анна, тогда надо знать больше о данных, которые там хранятся. в прочем, бесцеремонный лимит на селект по ид, без каких либо сортировок, момент интересный. Верно подмечено. Я неправильно упростил суть запроса. В подзапросе естественно есть сортировка, по дате: нужно самое свежее значение. Вот так корректно: Код: sql 1. 2. 3.
Ну так покажите explain (analyze, costs, buffers, timing) для него чтобы посмотреть что там не так. 20ms как то многовато кроме случая когда диски тормозят. Хотя конечно смотря сколько строк в table1. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 11:10 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Maxim BogukАрхиневолокоточ ерепопиндрик-йпропущено... Верно подмечено. Я неправильно упростил суть запроса. В подзапросе естественно есть сортировка, по дате: нужно самое свежее значение. Вот так корректно: Код: sql 1. 2. 3.
Ну так покажите explain (analyze, costs, buffers, timing) для него чтобы посмотреть что там не так. 20ms как то многовато кроме случая когда диски тормозят. Хотя конечно смотря сколько строк в table1. В подзапросе Код: sql 1.
там все нормально. indexScan. Таблица большая. Плюс в цикле делал этот подзапрос, по каждому id, которые есть в выборке с замером времени. 20ms складываются в секунды Можно ли как-то хитро эти две таблицы соединить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 11:15 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Может быть через временную таблицу как нить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 11:16 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Архиневолокоточ ерепопиндрик-йМожет быть через временную таблицу как нить? Через временную таблицу отменяется, т.к. БД редонли ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 11:36 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Архиневолокоточ ерепопиндрик-й, LATERAL ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 11:39 |
|
Помогите оптимизировать запрос.
|
|||
---|---|---|---|
#18+
Архиневолокоточ ерепопиндрик-й, Без результатов explain обсуждать смысла вообще нет. Может оно там у вас вообще в диски упирается и тогда нормальное железо вам в помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 11:45 |
|
|
start [/forum/topic.php?fid=53&msg=39553835&tid=1996103]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 315ms |
total: | 448ms |
0 / 0 |