Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Informix Новый топик    Ответить
 задача на оптимизицию SQL запроса  [new]
faid
Member

Откуда:
Сообщений: 32
Добрый день всем,
Нужна помощь по оптимизации запроса (у меня нет под рукой таких объемов данных для тестов)

В процедуре временная таблица tCardsToDeleted2(serno) - содержит 2000 записей.
Временная таблица tCardsToDeleted3(serno) - это копия временной таблицы tCardsToDeleted2
Постоянная таблица newcards(около 120 полей) - содержит 400000 записей.
Индексов нет ни в одной из них.

Ниже сам проблематичный sql

Delete from tCardsToDeleted2 where
exists(select * from newcards where card2serno = tCardsToDeleted2.serno and
card2serno is not Null and card2serno not in (select serno from tCardsToDeleted3))
or
exists(select * from newcards where card2serno = tCardsToDeleted2.serno and
card1serno is not Null and card1serno not in (select serno from tCardsToDeleted3));


Думаю создать 2 индекса на newcards.card1serno и newcards.card2serno
14 дек 15, 11:05    [18556266]     Ответить | Цитировать Сообщить модератору
 Re: задача на оптимизицию SQL запроса  [new]
GVF112GVF
Guest
faid,

Есть план запроса c продуктивной системы ?

Что если ....

select ...
union ..
select ...
into temp temp_t;

delete from temp_t;

С уважением,
Вадим.
15 дек 15, 13:01    [18562187]     Ответить | Цитировать Сообщить модератору
 Re: задача на оптимизицию SQL запроса  [new]
faid
Member

Откуда:
Сообщений: 32
GVF112GVF,

да спасибо так и сделал
15 дек 15, 18:46    [18564439]     Ответить | Цитировать Сообщить модератору
Все форумы / Informix Ответить