From 9c7e451c0319bca2ab6d27c662a8adba3e8cf8af Mon Sep 17 00:00:00 2001 From: Aoang Date: Tue, 17 Jan 2023 17:06:11 +0800 Subject: [PATCH] perf: optimize sqlite3 (#3074) - use journal mode to WAL - set locking mode to EXCLUSIVE - set auto vacuum ref: - https://www.sqlite.org/pragma.html#pragma_journal_mode - https://www.sqlite.org/pragma.html#pragma_locking_mode - https://www.sqlite.org/pragma.html#pragma_auto_vacuum --- internal/bootstrap/db.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/bootstrap/db.go b/internal/bootstrap/db.go index 3408d8c4..dd3ae7f4 100644 --- a/internal/bootstrap/db.go +++ b/internal/bootstrap/db.go @@ -51,7 +51,8 @@ func InitDB() { if !(strings.HasSuffix(database.DBFile, ".db") && len(database.DBFile) > 3) { log.Fatalf("db name error.") } - dB, err = gorm.Open(sqlite.Open(database.DBFile), gormConfig) + dB, err = gorm.Open(sqlite.Open(fmt.Sprintf("%s?_journal=WAL&_locking=EXCLUSIVE&_vacuum=incremental", + database.DBFile)), gormConfig) } case "mysql": {