update

Changed files
+15 -3
internal
storage
+15 -3
internal/storage/sqlite.go
··· 21 21 return nil, err 22 22 } 23 23 24 - // Enable WAL mode for better concurrency 25 - if _, err := db.Exec("PRAGMA journal_mode=WAL"); err != nil { 26 - return nil, err 24 + // Performance optimizations 25 + pragmas := []string{ 26 + "PRAGMA journal_mode=WAL", 27 + "PRAGMA synchronous=NORMAL", // Faster than FULL, still safe with WAL 28 + "PRAGMA cache_size=-64000", // 64MB cache (negative = KB) 29 + "PRAGMA temp_store=MEMORY", // Store temp tables in memory 30 + "PRAGMA mmap_size=268435456", // 256MB memory-mapped I/O 31 + "PRAGMA page_size=4096", // Optimal page size 32 + "PRAGMA busy_timeout=5000", // Wait up to 5s for locks 33 + } 34 + 35 + for _, pragma := range pragmas { 36 + if _, err := db.Exec(pragma); err != nil { 37 + return nil, fmt.Errorf("failed to set pragma %s: %w", pragma, err) 38 + } 27 39 } 28 40 29 41 return &SQLiteDB{db: db}, nil