Ответ 1
Вы читали часто задаваемые вопросы оптимизации SQLite (несколько лет, но все же кажется полезным)?
Я не думаю, что 1gb особенно большой, даже для SQLite. Он, безусловно, может обрабатывать значительно большие базы данных.
Я работаю с более крупной базой данных sqlite (для использования как на окнах, так и на linux), и я стараюсь максимизировать производительность, которую я получаю. База данных должна быть установлена на товарном оборудовании вместе с sqlite gui. Пользователи, которым я доставляю это, являются sql savvy, но вряд ли возьмутся за свои собственные оптимизации (создание индексов, настройка прагмы и т.д.), Поэтому я заинтересован в том, чтобы как можно больше использовать производительность в ящике (чтобы обеспечить максимальное использование данные).
Одна проблема Windows, похоже, затухает выполнение запросов гораздо больше, чем Linux, а другая заключается в том, что я менее знаком с подходом sqlite к индексированию (по сравнению с другими базами данных, такими как postgres).
Вы читали часто задаваемые вопросы оптимизации SQLite (несколько лет, но все же кажется полезным)?
Я не думаю, что 1gb особенно большой, даже для SQLite. Он, безусловно, может обрабатывать значительно большие базы данных.
Обновление - мы добились наибольшего успеха благодаря более интеллектуальному упорядочению данных во время импорта, агрессивной индексации (более чем удваивая размер файла db в процессе), настройке настроек в Windows, чтобы заставить XP вести себя более как сервер, чем рабочий стол, изменяя порядок соединений (вы не можете полагаться исключительно на оптимизатор) и путем измерения вашего прогресса, создав набор тестов производительности (просто проводку для выполнения запросов и измерения).
Опыт был забавным, и конечные пользователи довольны и могут работать с данными.
Если вы делаете большой импорт данных, я нашел, что наиболее эффективным способом было
также помните, что sqlite еще не поддерживает оператор or в предложении where. Вы можете изменить настройки, разделив предложение where, чтобы перейти к использованию ands.
Вы должны взглянуть на "запланированные задачи" и script на "оптимизацию таблиц" каждую ночь, возможно, даже повторно воссоздать свои индексы. Выполнение этого на регулярной основе может сэкономить массу времени и ручной работы.