Я использую временные таблицы в приложении для iPhone на базе SQLite. Производительность была не такой, как требовалось, поэтому я рассматривал различные кандидаты на оптимизацию. Большинство из них хорошо работали и имели желаемый эффект. Тем не менее, я также хотел бы попробовать moving the temporary tables from flash into memory, чтобы узнать, есть ли улучшения.Временное хранилище таблиц в SQLite на iPhone
На реальном устройстве я стараюсь и настроить это с помощью:
PRAGMA temp_store = 2;
Эти выполняется без ошибок. Однако, когда я запрашиваю конфигурацию с помощью:
PRAGMA temp_store;
Нет результатов нет, так что я не в состоянии проверить, что эта конфигурация в действительности. Я могу читать другие настройки PRAGMA, такие как 'page_size'. Может кто-нибудь сказать мне:
- Если это ожидаемое поведение
- Если это конфигурация не поддерживается в SQLite на iPhone
- Если такая оптимизация будет бессмысленным на iPhone, даже если бы это было возможно (из-за возможно, к аппаратным средствам)
- Как я могу успешно переместить временное хранение таблицы в память в этом сценарии
Примечания: Я хорошо знаю Core Data в SDK 3.0, но у меня есть веские причины не использовать его.
Обновление: джиттер указал, что экземпляр SQLite на iPhone может быть скомпилирован с SQLITE_TEMP_STORE, чтобы всегда использовать временные файлы. Я не знал об этой настройке - есть ли способ подтвердить, что это так?
Выясните, какие оптимизации вы уже сделали? И каков сценарий использования.Может быть, некоторые другие советы придут, а затем полетят в – jitter