Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SQL - delete
|
|||
|---|---|---|---|
|
#18+
Здарова мастера! есть 2 таблицы! таблица A (7МБ) таблица B (300 МБ) l n l n ------ -------- 1 1 1 1 1 2 1 2 1 3 1 3 1 4 1 4 2 1 1 5 ....... 2 1 2 2 ........... надо с таблицы B удалить записи кторые есть в таблице A (поля l и n) , учитывая что таблицы очень объемные.. а если иначе мой sql работает delete from B where (l in (select l from A)) and (l in (select l from A)) при таких больших данных данная команда зависает.. что делать? как оптимизировать?? заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 12:21 |
|
||
|
SQL - delete
|
|||
|---|---|---|---|
|
#18+
А почему именно DELETE-SQL? Можно ведь и обычным DELETE. Я так понимаю, что в таблице A есть индексы по n и по l, тогда так: select B DELETE FOR SEEK(B.n,'A','n') AND SEEK(B.l,'A','l') Результат будет тот же, но думаю быстрее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 12:47 |
|
||
|
SQL - delete
|
|||
|---|---|---|---|
|
#18+
Первое что приходит в голову разбей на два delete... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 12:48 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32283127&tid=1597787]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 272ms |
| total: | 397ms |

| 0 / 0 |
