|
задача на оптимизицию SQL запроса
|
|||
---|---|---|---|
#18+
Добрый день всем, Нужна помощь по оптимизации запроса (у меня нет под рукой таких объемов данных для тестов) В процедуре временная таблица 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.12.2015, 11:05 |
|
задача на оптимизицию SQL запроса
|
|||
---|---|---|---|
#18+
faid, Есть план запроса c продуктивной системы ? Что если .... select ... union .. select ... into temp temp_t; delete from temp_t; С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2015, 13:01 |
|
|
start [/forum/topic.php?desktop=1&fid=44&tid=1606830]: |
0ms |
get settings: |
24ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
101ms |
get tp. blocked users: |
1ms |
others: | 285ms |
total: | 484ms |
0 / 0 |