Цитата:
|
Сообщение от /7y3uK
Пишут же люди движки баз данных, следовательно есть масса различных подходов к этому вопросу, различающихся по скоростным характеристикам.
|
Расскажу тебе на примере MS SQL Server. Он не меняет размер БД с добавлением/удалением каждой записи. При создании БД задается её размер и шаг приращения в %. Сам файл БД содержит в себе собственную "файловую систему", если можно так сказать. Есть соответственно движок, который отвечает за эту работу с этой системой. Эта система состоит из достаточно не хитрых связанных сегментов, аналогов секторов реальных файловых систем. Частенько при записи в них данных эти сегменты не заполняются плотно, а лишь частично. Существует там и фрагментация. У MSSQL очень мошьная аналитическая система анализа запросов и построения плана их исполнения. Система может просчитывать ожидаемые объемы поступления данных. В нужный моменты файл БД растет на заданный %. Предварительная оценка этого % одна из важных задач администрирования производительности сиквела.
Но это я рассказал в двух словах. Если интересует, где-то у меня было значительно более подробное описание...