4

按照 Sqlite 的PRAGMA的说明,我发现PRAGMA schema.journal_mode;更改了 journal_mode 并给出了我选择的选项off来提高插入功能的性能。我写:

SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;PRAGMA Schema.journal_mode=off;");

它打开一个名为的数据库MyDatabase.sqlite和命令

PRAGMA Schema.journal_mode=off;

写在最后,我相信会关闭 sqlite 数据库的日志记录,但我不知道该怎么做,如果这是正确的方法,那么我做错了什么,因为我看不到任何变化添加 PRAGMA 命令后的性能。

我从Tigran's Blog Post on Sqlite中提到的链接下载了 Sqlite 库

4

1 回答 1

4

PRAGMA关键字不适用于连接字符串。正确的连接字符串语法是:

SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;journal mode=Off;");

发现这些的一种方法是使用SQLiteConnectionStringBuilder对象:

SQLiteConnectionStringBuilder lcb = new SQLiteConnectionStringBuilder();
lcb.JournalMode = SQLiteJournalModeEnum.Off;
lcb.DataSource = sqlFile;
lcb.Version = 3;

string myLtConnStr = lcb.ConnectionString;

结果:

"日志模式=关闭;数据源=\"C:\SQLite Dbs\mydata.db\";版本=3"

一些数据库提供者有很多选项——尤其是关于日期时间处理和选项——可以通过这种方式进行切换。一旦你知道了语法,你就可以省略ConnectionStringBuilder对象。

于 2017-09-28T17:11:32.670 回答