Я разрабатываю приложение для iPhone с двумя базами данных SQLite.Мне интересно, должен ли я использовать только одну.
В первой базе данных есть десяток маленьких таблиц (каждая из которых имеет четыре или пять столбцов INTEGER или TEXT).В большинстве таблиц всего несколько десятков строк, но в одной таблице будет несколько тысяч строк «Предметов».Все таблицы связаны между собой, поэтому между ними много объединений.
Вторая база данных содержит только одну таблицу.Он имеет BLOB-столбец с одной строкой, относящейся к некоторым элементам из первой базы данных (фотографии элементов).Эти большие двоичные объекты используются только в небольшой части программы, поэтому они редко присоединяются или объединяются с первой базой данных (строки можно легко получить без объединений).
Первый размер файла базы данных будет около мегабайта;БД с BLOB будет намного больше - около 50 мегабайт.Я отделил большие двоичные объекты, потому что хотел иметь возможность создавать резервные копии меньшей базы данных без необходимости переносить большие двоичные объекты.Я также думал, что разделение больших двоичных объектов может повысить производительность для небольших таблиц, но я не уверен.
Каковы преимущества и недостатки наличия двух баз данных (в частности, баз данных SQLIte) для разделения больших двоичных объектов по сравнениюиметь только одну базу данных с таблицей, заполненной очень узкими таблицами, смешанными с таблицей больших двоичных объектов?