Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оптимизировать select, убрав OR
|
|||
|---|---|---|---|
|
#18+
Добрый день, подскажите пожалуйста способы как можно попробовать оптимизировать запрос, в котором идет пересечение по нескольким полям, без использования OR. Есть вью V1, в которой два ключевых кода code1 и code2. Вторая вью V2 содержит 4 ключевых поля code1,code2,code3,code4. Поле code1 вью v1 может равняться полю code1 вью v2. Поле code2 вью v1 может равняться одному из трех остальных кодов вью v2. Коды code2-code4 могут быть заполнены, а могут бвть пустые. Нужно переписать тормозящее условие Where v1.code1=v2.code1 or v1.code2=v2.code2 or v1.code2=v2.code3 or v1.code2=v2.code4 Вариант с decode не сильно помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 14:32 |
|
||
|
Оптимизировать select, убрав OR
|
|||
|---|---|---|---|
|
#18+
(o-O), Если в code2, code3, code4 разные значения, то что ожидается на выходе? Приведите пример данных в with и ожидаемый результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 14:49 |
|
||
|
Оптимизировать select, убрав OR
|
|||
|---|---|---|---|
|
#18+
(o-O), оптимизировать без самих запросов, текстов вьюх и планов несколько бессмысленно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 14:50 |
|
||
|
Оптимизировать select, убрав OR
|
|||
|---|---|---|---|
|
#18+
(o-O), пробывать надо 1) case 2) decode(,decode()) 3) union all зы я так понимаю индексов по code_ нет .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 14:53 |
|
||
|
Оптимизировать select, убрав OR
|
|||
|---|---|---|---|
|
#18+
(o-O) Нужно переписать тормозящее условие Т.е. проблема не в OR как таковом, а в итоговом плане выполнения? Показывайте план, скорее всего достаточно будет запретить unnest для v2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2020, 14:54 |
|
||
|
Оптимизировать select, убрав OR
|
|||
|---|---|---|---|
|
#18+
(o-O), Код: plsql 1. пальцем в небо - v1.code1=v2.code1 and v1.code2=(v2.code2 ||v2.code3 ||v2.code4) и если ты делаешь очередное Г над другим Г, обратись к исходникам Г и напиши уже нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2020, 17:43 |
|
||
|
Оптимизировать select, убрав OR
|
|||
|---|---|---|---|
|
#18+
(o-O) Добрый день, подскажите пожалуйста способы как можно попробовать оптимизировать запрос, в котором идет пересечение по нескольким полям, без использования OR. Есть вью V1, в которой два ключевых кода code1 и code2. Вторая вью V2 содержит 4 ключевых поля code1,code2,code3,code4. Поле code1 вью v1 может равняться полю code1 вью v2. Поле code2 вью v1 может равняться одному из трех остальных кодов вью v2. Коды code2-code4 могут быть заполнены, а могут бвть пустые. Нужно переписать тормозящее условие Код: plsql 1. 2. 3. 4. Вариант с decode не сильно помогает. Код: plsql 1. 2. 3. 4. Эквивалентно Код: plsql 1. 2. Эквивалентно Код: plsql 1. 2. 3. 4. 5. Всё так? Не наврал? (Просто зафиксировал преобразование, чтобы не забыть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2020, 22:32 |
|
||
|
Оптимизировать select, убрав OR
|
|||
|---|---|---|---|
|
#18+
SQL*Plus, Там or, a не and, потому запрос с in не эквивалентен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 02:39 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1881032]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 185ms |

| 0 / 0 |
