Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
14.12.2015, 11:05
|
|||
---|---|---|---|
задача на оптимизицию 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2015, 13:01
|
|||
---|---|---|---|
|
|||
задача на оптимизицию SQL запроса |
|||
#18+
faid, Есть план запроса c продуктивной системы ? Что если .... select ... union .. select ... into temp temp_t; delete from temp_t; С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=44&mobile=1&tid=1606830]: |
0ms |
get settings: |
18ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
others: | 274ms |
total: | 457ms |
0 / 0 |