我的sqlite3数据库/查询非常慢。切换或修复查询?

时间:2012-03-02 09:42:27

标签: sqlite

我有一个大的sqlite数据库。它的185mb。

此查询大约需要5秒,并返回2行。我为user.name添加了一个索引,而不是Content.user_id。它仍然需要很多秒。 sqlite可以像这样处理大文件吗?是否有一个简单的修复私人应用程序,如告诉sqlite在应用程序启动时将所有内容放入ram? (仅限开发人员使用的C#.NET)。

select Content.*,name from user 
                join Content on Content.user_id=user.id 
                where user.name like 'some_name' order by some_col ASC;

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

跟进您的回答

我认为您启用了不区分大小写的LIKE编译指示。这意味着:

您应该重新创建数据库,并在表用户的name COLLATE NOCASE列的定义中使用name。因此,对用户名的所有比较测试都不区分大小写,您的索引也是如此。这样,不区分大小写的LIKE也可以使用索引。

答案 1 :(得分:0)

也许您应该查看indexes