2012-07-05 72 views
1

我在c#中使用SQLITE作为我的磁盘目录项目。在测试期间,当使用固定大小的varchar时,遇到长度问题。所以我决定在开发时保持varchar的大小无限。有时我需要一次在表格中读取40,000行。没有大小规格的varchar会减慢SQLite的性能吗?

我的问题是可以固定大小varchar增加sqlite的性能?

+0

阅读:http://www.sqlite.org/datatype3.html – biziclop 2012-07-05 11:06:37

回答

2

的SQLite完全忽略任何长度的限制:

http://www.sqlite.org/datatype3.html说:

2.2亲和名称的例子

注意括号中的数值参数是以下类型 名称(例如:“ VARCHAR(255)“)被SQLite忽略 - SQLite不会对 施加任何长度限制(除了全局大的全局变量 SQLITE _MAX_LENGTH限制)字符串长度,BLOB或数值 值。

+0

好,我对带有相同两列和理想的50,000个数据条目的表进行了测试,但是其中一个具有固定大小,而另一个具有无限大小。结果相似。来自固定尺寸表的查询采取420.17毫秒和无限尺寸表采取430.42毫秒。我对每张桌子进行了12次测试并取平均值。 – 2012-07-05 11:44:22

0

答案是肯定的。它确实提高了性能,因为在特定列上发生重写时,它不会执行任何动态大小分配。