|
FB Embedded 2.5.2 - запрос с подзапросом работает очень медленно
|
|||
---|---|---|---|
#18+
Всем здравствуйте! Используется FB Embedded 2.5.2 + FireDAC (2013 v 7.0.1.3119), размер базы 1.6 Гб Наткнулся на такую проблему: Запрос с подзапросом внутри выполняется стабильно для любых переменных за 4.5 сек: Код: sql 1. 2. 3. 4. 5. 6.
если отдельно выполнить подзапрос (за 10..25 мсек): Код: sql 1. 2.
и вставить из него ответ в итоговый: Код: sql 1. 2.
то такой запрос выполняется в итоге за 10-40 мсек. Попробовал выполнить запрос через FlameRobin 0.9.3 (git hash 5ece15b) Unicode получилось быстрее: 2.6 сек. авторExecuting statement... Statement executed (elapsed time: 0.000s). 1291586 fetches, 9 marks, 220185 reads, 7 writes. 0 inserts, 0 updates, 0 deletes, 218 index, 161771 seq. Delta memory: 53588 bytes. Total execution time: 2.628s Script execution finished. Временное решение: выполняю подзапрос отдельно, возвращаю строки и формирую итоговый запрос ( where F.FILEGUID in ('guid1','guid2', .... 'guidX') ), работает быстро, но... почему СУБД не может "так же" ..? Может кто-то сталкивался с такой или похожей проблемой? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 14:48 |
|
FB Embedded 2.5.2 - запрос с подзапросом работает очень медленно
|
|||
---|---|---|---|
#18+
sql2012, Может, попробовать JOIN? Меня эти IN всегда напрягают. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 14:50 |
|
|
start [/forum/topic.php?fid=40&fpage=22&tid=1560646]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 139ms |
0 / 0 |