Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL - delete / 4 сообщений из 4, страница 1 из 1
03.10.2003, 12:21
    #32283079
MoneyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL - delete
Здарова мастера!
есть 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))

при таких больших данных данная команда зависает.. что делать?
как оптимизировать?? заранее спасибо
...
Рейтинг: 0 / 0
03.10.2003, 12:47
    #32283124
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL - delete
А почему именно DELETE-SQL? Можно ведь и обычным DELETE.

Я так понимаю, что в таблице A есть индексы по n и по l, тогда так:

select B
DELETE FOR SEEK(B.n,'A','n') AND SEEK(B.l,'A','l')

Результат будет тот же, но думаю быстрее :)
...
Рейтинг: 0 / 0
03.10.2003, 12:48
    #32283127
YuriWhite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL - delete
Первое что приходит в голову разбей на два delete...
...
Рейтинг: 0 / 0
03.10.2003, 13:21
    #32283198
MoneyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL - delete
Владимир, спасибо.. прога за 9 сек справилась )
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL - delete / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]