Насколько сильно повлияет на скорость работы БД постоянное удаление/добавление записей?
В базе есть одна простейшая табличка представляющая собой обычный список (ID, Name) который постоянно изменяется (записи добавляются и удаляются). Так вот, насколько резонно производить удаление записей путем ? Не повлияет ли это со временем на производительность (фрагментация и все такое)? Или лучше завести дополнительное поле с флажком является ли данная запись удаленной? Размер БД не критичен, но и с точки зрения истории записи которые когда-либо были в таблицы значения не имеют.
Надо уточнить, разумеется какая СУБД используется, но в общем фрагментации сильной не будет, в силу того что удаленные записи компенсируются добавляемыми записями(занимают их место). Однако размер БД все же критичен с точки зрения именно скорости.
Поэтому два вараинта я бы посоветовал: удалять сразу по ходу без дополнительного поля-флжка, либо с флажком но периодически чистить и производить дефрагментацию(вакуумизацию или оптимизацию) Что будет быстрее - надо тестировать, но фраментацию в первом варианте не играет ключевой роли, основными тормозами будет перестроение индекса на колонке ID
На СУБД как такавую не особо, а вот на работу приложения, пользующего эту субд повлияет хорошо.
Конечно, согласен с Bochkin. Надо уточнить базу данных и область ее применения.
Вариантов удаления записей может быть очень много.
Но самый верный путь - поставить эксперимент для своей базы на тестовых данных.
А для чего же еще нужны БД, кроме как для удаления/добавления записей? А вообще это зависит от кол-ва записей.
Мы рекомендуем вам ознакомиться со следующими материалами на тему:
Информация для интересующихся веб-дизайном и программированием:
Online from 2006-2008#We are the CoDeRs! Наши статьи и новости можно свободно перепечатывать при указании обратной ссылки на источник