powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / OR в Oracle 8.1.7
7 сообщений из 7, страница 1 из 1
OR в Oracle 8.1.7
    #39637235
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, поясните пожалуйста дилетанту, почему
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
     SELECT ...   FROM (
       SELECT ...  FROM  ... ,
        (SELECT ... FROM ... WHERE ...) pv,
        (SELECT ... FROM ... WHERE ...) svyaz,
        (SELECT ... FROM ... WHERE ...) jdk
       WHERE ... AND jdk.nformuved = '11' ...       
       UNION 
       SELECT ...  FROM  ... ,
        (SELECT ... FROM ... WHERE ...) pv,
        (SELECT ... FROM ... WHERE ...) svyaz,
        (SELECT ... FROM ... WHERE ...) jdk
       WHERE ... AND jdk.nformuved = '12' ...       
       ) t
       ORDER BY t.numopzn;


выполняется 2 сек, а

Код: plsql
1.
2.
3.
4.
5.
6.
       SELECT ...  FROM  ... ,
        (SELECT ... FROM ... WHERE ...) pv,
        (SELECT ... FROM ... WHERE ...) svyaz,
        (SELECT ... FROM ... WHERE ...) jdk
       WHERE ... AND (jdk.nformuved = '11'  OR  jdk.nformuved = '12') ...       
       ORDER BY numopzn;


выполняется 3.5 минуты
...
Рейтинг: 0 / 0
OR в Oracle 8.1.7
    #39637241
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

что на это говорит план ?
...
Рейтинг: 0 / 0
OR в Oracle 8.1.7
    #39637244
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой тип у поля jdk.nformuved?
Есть ли на нем индекс?
Чувствую, что собака зарыта не в нем, а в иных предикатах
WHERE ... AND (jdk.nformuved = '11' OR jdk.nformuved = '12') ...
...
Рейтинг: 0 / 0
OR в Oracle 8.1.7
    #39637255
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

У тебя не сработал OR-expansion.
...
Рейтинг: 0 / 0
OR в Oracle 8.1.7
    #39637273
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>шК0ДЕР, сегодня, 11:19 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1291717&msg=21373042] [21373042]

>Какой тип у поля jdk.nformuved?
nformuved VARCHAR2(12)
...
Рейтинг: 0 / 0
OR в Oracle 8.1.7
    #39637319
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
--+ use_concat
...
Рейтинг: 0 / 0
OR в Oracle 8.1.7
    #39637339
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>AlexFF__|, сегодня, 11:26 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1291717&msg=21373067][21373067]

>У тебя не сработал OR-expansion.
Это тоже не срабатывает
WHERE ... AND jdk.nformuved in ('11','12') ...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / OR в Oracle 8.1.7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]