![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|||||||||||||||||||
|
Banned
Пол:
Регистрация: 19.02.2008
Адрес: г.Екатеринбург
Сообщений: 257
Репутация: 120
|
Запрос вот тормозит
aptdrugpresent = 900 000 записей adp_change = 0 - 100 записей
HELP |
|||||||||||||||||||
|
|
|
| Реклама: |
|
|
#2
|
|
Пользователь
Пол:
Регистрация: 11.03.2008
Сообщений: 158
Репутация: 33
|
Сервер у вас супер или классик?
Я у себя тесты проводил, на простой вставке даных с обовлением нескольких таблиц итог: при сервере запущенном как fbserver.exe -a серия запросов выполняется 72062 msec при сервере запущенном как fb_inet_server.exe время сокращается почти в два раза, до 33594 msec |
|
|
|
|
|
#3
|
|
Новичок
Пол:
Регистрация: 13.03.2008
Сообщений: 10
Репутация: 0
|
Добавь индексы и используй план запроса.
|
|
|
|
|
|
#4
|
|
Постоялец
![]() ![]() Пол:
Регистрация: 02.02.2010
Сообщений: 259
Репутация: 273
|
а переписать его - с точки зрения оптимизации SQL ьез привязки к БД ? типа такого (такой IN точно в DB2 прокатывает, но не уверен про бёрд)
DELETE FROM aptdrugpresent ADP Where (dcode, scode) in (select dcode, scode from adp_change CH where and ch.act=0); суть в том что в вашем случае subselect (при вычислении exists) вычисляется для каждой строки таблицы aptdrugpresent -> т.е. у вас получается количество НЕНУЖНЫХ full-scan_ов таблицы adp_change столько же сколько строк в aptdrugpresent... хотя есть надежды на то что просмотр таблицы заканчивается при нахождении первого результата (не пустое множество результатов говорит что exists вернет TRUE) Очень не экономно |
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| БД Firebird | Greg777 | Delphi | 61 | 26.03.2015 00:01 |
| Обновление FireBird | biksant | Базы данных | 15 | 13.04.2010 06:56 |
| FireBird 2.0.3 | Mustd1e | Базы данных | 5 | 10.01.2010 23:02 |
| SQL Запрос McAccess2007 (Запрос с 3 таблиц - дублирование ) | Dr Evil | Базы данных | 3 | 23.07.2009 09:06 |
| insert через FIB в firebird | ilya198292 | Delphi | 11 | 22.12.2008 23:26 |
|
|