powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Влияние количества параметров sql
3 сообщений из 3, страница 1 из 1
Влияние количества параметров sql
    #40138260
cerh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компиляция запроса при кол-ве параметров ~2500 штук от 10 мин до 30мин(прервал) будь то explain plan или выполнение sql , но если не менять кол-во параметров то выполняется в разумные сроки. Если оставить 100 параметров то explain plan отрабатывает бысто. Подскажите как решить проблему, переписывать sql нельзя, Oracle 12
...
Рейтинг: 0 / 0
Влияние количества параметров sql
    #40138309
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Само по себе количество параметров для оптимизатора проблемой не является:
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Connected to Oracle Database 19c Enterprise Edition Release 19.0.0.0.0

SQL>
explain plan for
select * from dual where :p0=0 and :p1 = 1 and :p2 = 2 and :p3 = 3 and :p4 = 4 and :p5 = 5 and :p6 = 6 and :p7 = 7 and :p8 = 8 and :p9 = 9 and :p10 = 10
 and :p11 = 11 and :p12 = 12 and :p13 = 13 and :p14 = 14 and :p15 = 15 and :p16 = 16 and :p17 = 17 and :p18 = 18 and :p19 = 19 and :p20 = 20
...
 and :p2481 = 2481 and :p2482 = 2482 and :p2483 = 2483 and :p2484 = 2484 and :p2485 = 2485 and :p2486 = 2486 and :p2487 = 2487 and :p2488 = 2488 and :p2489 = 2489 and :p2490 = 2490
 and :p2491 = 2491 and :p2492 = 2492 and :p2493 = 2493 and :p2494 = 2494 and :p2495 = 2495 and :p2496 = 2496 and :p2497 = 2497 and :p2498 = 2498 and :p2499 = 2499 and :p2500 = 2500
;

Explained

Executed in 0.915 seconds

select * from dbms_xplan.display();
Plan hash value: 3752461848
---------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |     1 |     2 |     2   (0)| 00:00:01 |
|*  1 |  FILTER            |      |       |       |            |          |
|   2 |   TABLE ACCESS FULL| DUAL |     1 |     2 |     2   (0)| 00:00:01 |
---------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter(TO_NUMBER(:P2500)=2500 AND TO_NUMBER(:P2499)=2499 AND
              TO_NUMBER(:P2498)=2498 AND TO_NUMBER(:P2497)=2497 AND
...
              TO_NUMBER(:P2356)=2356 AND TO_NUMBER(:P2355)=2355 AND
              TO_NUMBER(:P2354)=2354 AND TO_NUMBER(:P2353)=2353 AND TO_)

87 rows selected

SQL>
Попробуйте почитать
https://iusoltsev.wordpress.com/2011/08/25/long-parse-time/
https://iusoltsev.wordpress.com/2011/10/13/sql-long-parse-time-2/
...
Рейтинг: 0 / 0
Влияние количества параметров sql
    #40138311
cerh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous [игнорируется] 

спасибо, посмотрю, но все-таки переписал sql, хотя и не оптимально.
забыл сказать что sql типа
Код: SQL
1.
2.
3.
4.
5.
select * from (
select * from ...
union all
select * from ...
) where a=:1 or a=:2 or ... or a=:2000
...
Изменено: 20.12.2023, 23:13 - cerh
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Влияние количества параметров sql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (5): Анонимы (5)
Пользователи онлайн (7): Анонимы (5), Bing Bot, Yandex Bot 1 мин.
x
x
Закрыть


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