Increase default statement cache size from 16 to 256.

This commit is contained in:
Sebastian Jeltsch 2026-04-21 11:08:41 +02:00
parent ee5391cfb6
commit fd1d3c6d05

View file

@ -337,6 +337,9 @@ fn init_main_db_impl(
let mut conn = trailbase_extension::connect_sqlite(main_path.clone(), json_registry.clone())
.map_err(|err| trailbase_sqlite::Error::Other(err.into()))?;
// The default is just 16.
conn.set_prepared_statement_cache_capacity(PREPARED_STATEMENT_CACHE_CAPACITY);
#[cfg(any(feature = "geos", feature = "geos-static"))]
litegis::register(&conn)?;
@ -379,6 +382,9 @@ fn init_main_db_impl(
let mut secondary =
trailbase_extension::connect_sqlite(Some(path.clone()), json_registry.clone())?;
// The default is just 16.
secondary.set_prepared_statement_cache_capacity(PREPARED_STATEMENT_CACHE_CAPACITY);
#[cfg(any(feature = "geos", feature = "geos-static"))]
litegis::register(&secondary)?;
@ -449,6 +455,9 @@ pub(crate) fn connect_rusqlite_without_default_extensions_and_schemas(
// Initial optimize.
conn.pragma_update(None, "optimize", "0x10002")?;
// The default is just 16.
conn.set_prepared_statement_cache_capacity(PREPARED_STATEMENT_CACHE_CAPACITY);
// Rusqlite's default is 5s.
conn.busy_timeout(std::time::Duration::from_millis(5000))?;
@ -522,3 +531,5 @@ fn setup_file_deletion_triggers_sync(
return Ok(());
}
const PREPARED_STATEMENT_CACHE_CAPACITY: usize = 256;