SQLite数据库连接字符串

时间:2014-09-22 06:10:38

标签: c# sql database sqlite

我的系统上有非常大的数据库(.db)文件(> 20 GB) 它拥有aprrox 500个表,而且有些表有十亿个记录。

这个数据库我将由C#程序使用。

我准备了要在这些数据库上执行并获取记录的查询。 我还编写了INDEXING查询来执行此数据库。

以下是连接数据库的第一步。

 string fullPath = "D:\\Example.db"

            using (SQLiteConnection con = new SQLiteConnection("Data Source=" + fullPath + ";Version=3;Count Changes=off;Journal Mode=off;Pooling=true;Cache Size=10000;Page Size=4096;Synchronous=off"))
            {
                con.Open(); 
                ....
                ....
}
  • 我仍然可以增加缓存大小吗?
  • 我还可以增加页面大小吗?
  • 我错过了其他任何参数吗?

我正在循环中执行查询,以便能否通过某些命令释放CACHE 大小?

2 个答案:

答案 0 :(得分:1)

您可以随时使用PRAGMA cache_size更改缓存大小。 但是,这不会产生太大影响,因为操作系统将使用任何可用内存将数据库文件保存在文件缓存中。

必须在实际创建数据库文件之前设置页面大小。 增加页面大小可能有所帮助,但是对于运行时由I / O支配的大型数据库,效果可能非常小。

当您编写需要从数据库中读取千兆字节数据的查询时,这些查询将始终很慢。

答案 1 :(得分:0)

我明白使用大量数据库和SQLLite是有限的,所以我用Oracle数据库迁移了我的数据库。