Показать сообщение отдельно
Старый 13.04.2009, 00:56     # 9
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
нет, запрос делал прямо на серваке, в общем в итоге сделал как и написал - то, что DELETE долго выполнялся - нормально - в конечном счете он отработал и все стало нормально всем спасибо за участие. если кому надо:

шаг 1. пишем скрипт, который вытаскивает все id по дереву (либо на скуле - я не смог, либо на другом языке - писал на php, выполнялся не более 1 сек. (в дереве оказалось 7 000 записей уникальных))

шаг 2. удаляем все элементы в objects, которые не в дереве:
DELETE FROM objects WHERE id NOT IN (SELECT id FROM temp_id_tree)

шаг 3. удаляем все элементы из objectsLink, ссылки на которые ведут на несуществующие объекты
DELETE FROM objectsLink WHERE idObject NOT IN (SELECT id FROM objects) AND idObject!=0
DELETE FROM objectsLink WHERE idParent NOT IN (SELECT id FROM objects) AND idParent!=0

нули там обрабатываются - специфика структуры базы, так !=0 можно и не писать...
вот... пожалуй один из самых быстрых вариантов
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума