Как заставить базу данных Extensible Storage Engine сокращаться? - база данных не должна иметь много данных внутри? - PullRequest
2 голосов
/ 23 января 2011

В надежде, что Лорион Бурчалл слушает:)

В моей базе данных есть длинное двоичное поле, которое используется для временного кэширования некоторых данных. Данные могут на самом деле не понадобиться очень долго. Типичные размеры варьируются от 1 КБ до 3 МБ

Я заметил, что размер базы данных растет без ограничений, хотя в любой момент времени в базе данных должно быть не более 20 или 30 МБ фактических данных.

Паттен, который я использую, -

a) add the data with JetSetColumn, say 3MB
b) ... wait until the data is no longer need, often just a few hours - sometimes a little longer
c) when I want to delete the data, I'm (this could be wrong) using JetSetColumns passing a value of NULL. 

Я бы подумал, что размер базы данных составляет около 30 МБ или около того, но вместо этого она становится все больше и больше (30 ГБ). Либо удаление, которое я делаю, некорректно, либо мне нужно как-то сжать?

Я надеюсь, что кто-нибудь прояснит, что происходит, если я неправильно использую ESE и т. Д.

1 Ответ

3 голосов
/ 26 января 2011

ESE не использует повторно логически удаленные / перезаписанные записи, пока не получит указание сделать это с JetDefragment или JetCompact

...