Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите что лучше... / 4 сообщений из 4, страница 1 из 1
05.09.2003, 16:55
    #32257311
#define
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите что лучше...
Необходимо удалить записи из одной таблицы, которых нет в другой. Т.е. реляционная разность.

1.
- выбрать пользователей, загнать в массив
Код: plaintext
SELECT users.userid FROM users LEFT JOIN pubs ON users.userid=pubs.userid WHERE pubs.userid IS NULL

- удалить все записи с выбранными userid'ами
Код: plaintext
DELETE FROM users WHERE userid IN($array)


2.
- выбрать всех пользователей, у которых есть записи, загнать в массив
Код: plaintext
SELECT userid FROM pubs GROUP BY userid
(кстати, как исключить из выборки дублирующиеся значения поля?)
- удалить записи, userid которых нет в массиве
Код: plaintext
DELETE FROM users WHERE userid NOT IN($array)


Какой вариант лучше использовать? Какой быстрее выполнится? Нельзя ли одним запросом удалить?
...
Рейтинг: 0 / 0
05.09.2003, 17:53
    #32257377
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите что лучше...
Можно не в массив а во временную таблицу.

Работать будет быстрее в зависимости от того каких больше, а каких меньше! Логично?!

mahoune
...
Рейтинг: 0 / 0
05.09.2003, 18:12
    #32257396
#define
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите что лучше...
Каких данных больше? Больше в pubs.
А чем лучше временная таблица? Разве массивом дольше?
...
Рейтинг: 0 / 0
08.09.2003, 09:57
    #32258005
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите что лучше...
Потому как данные на клиента передавать не надо будет!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите что лучше... / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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