質問: 1; _context.Update(foo); await _context.SaveChangesAsync(); return Content("success"); } ```
回答: 純粋な推測がここにあるが、いくつかのことが思い浮かぶ。 1. SQLiteはAsyncをサポートしていないので、これらの呼び出しは余分なオーバーヘッドを追加するだけです。 2. Npgsqlはコンパイル/準備されたSQL文をキャッシュしますが、Microsoft.Data.Sqliteは毎回SQLを再コンパイルする必要があります(問題#5459はここで役に立ちます) 3. クエリと更新(クエリの前に`_context.Database.OpenConnection()`呼び出す`_context.Database.OpenConnection()`間で接続を開いたままにすると、より良いスループットを得ることができます。 4. `_context.Database.ExecuteSqlCommand("PRAGMA journal_mode=WAL;")`を使用して、先行書き込みログ(WAL)を`_context.Database.ExecuteSqlCommand("PRAGMA journal_mode=WAL;")`