|
MySQL.RU - Webboard
Вернуться
Удаление 10000 записей из таблицы (Nikita) 10/03/2004 - 11:14:44
Re: ограничение на длину IN - имхо чушь (Alec) 10/03/2004 - 14:16:34
Re: ограничение на длину IN - имхо чушь (Nikita) 11/03/2004 - 10:27:21
From: Nikita - 10/03/2004 - 11:14:44
Subject:Удаление 10000 записей из таблицы
-----------------
Господа, подскажите:
Есть такая задача:
удалить из таблицы А строки, у которых поле ID встречается в таблице B.
Пишу на ПХП
MySQL версии 3.23.xx !
В таблице А 80000 строк, в таблице В 250000 строк.
Насколько я понял нужно сделать в 2 этапа:
1. выбрать совпадающие айдишники из 2х таблиц, положить их в массив. Массив преобразовать в строку (123, 124, 345, .... 34567)
2. Выполнить Delete from table A where ID in (123, 124, 345, .... 34567)
Как бы всё должно работать. Но! Один знакомый сказал что существует какое то ограничение на количество элементов в выражении IN ().
В моем случае таких айдишников для удаления может быть от 3000 до 80000.
И вот вроде бы существует ограничение по количеству , примерно 1000 штук?
Что делать??
Как бы не правильно делать удаление where ID in (80000 значений, перечисленных через запятую), а как по другому сделать не могу придумать :(
И кстати второй вопросик: нужно ли после этих удалений делать OPTIMIZE TABLE, или так сойдёт ;) ?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
13399
|
|