parser

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

 

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

Ответ

G_Z 02.05.2008 03:10 / 02.05.2008 03:14

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

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

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

Если запись удаляется — смело удалять.
Если может понадобится восстановление — маркировать, удалять позже.

Зачем на старый ID вешать новые данные, создавая гемморой пользователям и себе — понять затрудняюсь.