parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Удалять, или не удалять - вот в чем вопрос!

agat 01.05.2008 23:41

Наверное все знают, что удалять строки в БД - не есть хорошо. Намного лучше пометить строку как удаленную, а позже, при новом инсерте - заапдейтить одну из удаленных строк.

Я тоже всегда так считал, и вот, при разработке нового движка, решил реализовать данный механизм. Но почти сразу наткнулся на мысль, что это может привести к определенным трудностям.

К примеру, имеем товар с айди=1. Роботы проиндексили, люди понаделали закладок - ссылка пашет. Тут мы удаляем товар (помечаем строку удаленной), и пишем вместо данной строки новый товар. В итоге на месте ожидаемого товара будет совсем другой. Навскидку подумалось создавать некий уникальный идентификатор товара, и вытаскивать строки не по айди, а именно по этому идентификатору. Но это уже другая задача, и ее реализация, без накладки на производительность, будет непростой.

В итоге получаем дилемму - или не_удалять, иметь целостность индексов и быстрый поиск в БД, но меньшую скорость при апдейте базы, или удалять, херя по чуть чуть базу, но иметь ту же скорость во всех операциях с БД. Какие идеи по данной теме, может кто уже решал эту проблему?