慢选择日期列上的查询执行

时间:2017-10-31 14:11:33

标签: sqlite system.data.sqlite

我从SQL CE数据库迁移到SQLite数据库(3.18.0),但是当Select中有datetime列时,我的查询速度很慢。

存储Datetime的我的SQLite列的类型为INTEGER。日期存储在UNIX纪元(秒)中。

在包含15列1000条记录的表上,我的查询大约是3秒。 没有日期(仅名称)的相同查询是即时的。

[x if df.groupby(['id',x]).ngroup().max()>1 else np.nan for x in df.columns]
Out[233]: ['A', nan, nan]

我是否需要在文本中存储日期?

编辑:

从实体框架,生成的查询是:

SELECT Name,
CreatedDate    
FROM [Table] 

2 个答案:

答案 0 :(得分:0)

我终于找到了性能问题的来源。 在SQLite中,列顺序非常重要!

我感动了#34;创造了#34;和#34; lastModified" TEXT类型列之前的列,用于存储一些XML数据。

然后我的查询现在是即时的。 更多信息: http://sqlite.1065341.n5.nabble.com/Does-column-order-matter-for-performance-td81880.html

答案 1 :(得分:-1)

您可以使用时间戳值而不是日期。但是,需要进行日期对话。