2010-05-09 2 views
5

Я использую встроенную библиотеку sqlite на платформе Android.Нуль SQLite Поля данных занимают дополнительную память?

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

Мой вопрос в том, сколько служебных данных эти пустые поля будут добавлены в мою базу данных? Нулевые поля даже занимают память записи в sqlite? Если да, то сколько? Я не совсем понимаю внутреннюю работу базы данных sqlite.

ответ

6

Формат файла SQLite описан here. Поле NULL займет один байт.

Одним из способов предоставления настраиваемых/необязательных полей является их размещение в отдельной таблице с внешним ключом, идентифицирующим соответствующую запись. Тогда никакая дополнительная запись не требуется, если нет настраиваемых полей, хотя для сбора всех полей, когда есть настраиваемые поля, необходимо будет объединять их.

+1

Я уже использую настройку «многие ко многим», связывающую эти заметки с остальной частью моей базы данных, и объединение большего количества таблиц в микс будет очень грязным. – CodeFusionMobile

Смежные вопросы