Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Запрос вот тормозит

Модерирует : ShIvADeSt

ShIvADeSt (31-12-2009 07:27):  Версия для печати • ПодписатьсяДобавить в закладки

   

JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Запрос вот тормозит
aptdrugpresent = 900 000 записей
adp_change = 0 - 100 записей  
 

Код:
DELETE  FROM aptdrugpresent  ADP Where Exists (select * from adp_change   CH where   adp.dcode=ch.dcode and adp.scode=ch.scode and ch.act=0);

 
HELP

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 08:14 16-09-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JohnSilver182
1) По огнептице есть топик
2) запрос конкретно к огнептице имеет мало отношения (обычный запрос на SQL).
3) Записей достаточно много, индексы вообще есть в таблице?
4) попробуй вместо select * написать select 1 так как нафига тебе возвращать все поля?
5) попробуй результат селекта вначале кинуть во временную таблицу а потом просто делать селект из нее без where. То есть кидаешь во времянку айдишники из aptdrugpresent при условии  adp.dcode=ch.dcode and adp.scode=ch.scode and ch.act=0
примерно так
Insert #temp (id)
select adp.ID from aptdrugpresent  ADP, adp_change   CH where   adp.dcode=ch.dcode and adp.scode=ch.scode and ch.act=0
а потом уже так
DELETE  FROM aptdrugpresent  ADP Where ID in (select ID from #temp);

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 09:03 16-09-2009
JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
Самое забавное что когда  записей  adp_change = 0  кажется что больше тормозит.
Поля которые в Where проиндексированны .

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 13:10 16-09-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JohnSilver182
Попробуй собрать статистику индексов.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 18:21 16-09-2009 | Исправлено: volser, 18:40 16-09-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JohnSilver182

Цитата:
Поля которые в Where проиндексированны .

Если проиндексированы, тогда почему при перечислении таблиц не указаны индексы? например так MyTable (index MyIndex). Не знаю как в огнептице, но в Sybase и MS SQL надо указывать индексы.  
Насчет  

Цитата:
Самое забавное что когда  записей  adp_change = 0  кажется что больше тормозит.  

Попробуй через времянку сделать.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:14 17-09-2009
JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Если проиндексированы, тогда почему при перечислении таблиц не указаны индексы? например так MyTable (index MyIndex). Не знаю как в огнептице, но в Sybase и MS SQL надо указывать индексы.  

Не !  Я  бросил это через месяц как увидал первую  СУБД  (MS SQL SERVER 6.0)

Цитата:
 
Попробуй через времянку сделать.

Прикидывал ,  но не  понял  где выигрыш  
С таблицей  adp_change = 0 - 100 записей  никакого выигрыша  
 

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 12:20 17-09-2009
Hackman1971



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
where условие никак нельзя упростить, или разбить его на подусловия. Скорее всего в этом проблема, не знаю как в базе условия обрабатываются.

Всего записей: 168 | Зарегистр. 06-02-2009 | Отправлено: 06:44 31-12-2009
   

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Запрос вот тормозит
ShIvADeSt (31-12-2009 07:27):


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru