У меня есть база данных sqlite, используемая для хранения информации о заданиях резервного копирования. Каждый прогон увеличивается примерно на 25 МБ в результате добавления около 32 000 записей в конкретную таблицу.
Эта таблица является "таблицей карт", используемой для связи определенной информации с записями в другой таблице ... и у нее есть первичный ключ (autoincrement int), который я не использую.
sqlite зарезервирует 1, 2, 4 или 8 байтов для столбца INT в зависимости от его значения. Эта таблица содержит только 3 дополнительных столбца, также типа INT.
Я добавил индексы в базу данных по столбцам, которые я использую в качестве фильтров (ГДЕ) в своих запросах.
При наличии индексов и т. Д. И в описанной ситуации первичные ключи имеют какое-либо полезное преимущество с точки зрения производительности?
Примечание. Производительность очень и очень важна для этого проекта - но не в том случае, если 10 мс, сэкономленные на 32000 заданиях, означают дополнительные 10 МБ данных!