我从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]
答案 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)
您可以使用时间戳值而不是日期。但是,需要进行日期对话。