【发布时间】:2012-02-13 08:37:38
【问题描述】:
我知道使用 sqlite 有一些限制,但我想知道它是否应该能够处理这种情况。
我的表有超过 3 亿条记录,数据库大约 12 个演出。使用 sqlite 的数据导入工具既好又快。但是后来我给这个表的一个字符串列添加了索引,它跑了一夜才完成这个操作。我没有将此与其他数据库进行比较,但对我来说似乎很慢。
现在我的索引已添加,我想在数据中查找重复项。所以我正在尝试运行“计数> 0”查询,它似乎也需要几个小时。我的查询看起来像:
select col1, count(*)
from table1
group by col1
having count(*) > 1
我会假设这个查询会使用我在 col1 上的索引,但是缓慢的查询执行让我想知道它是否不是?
也许 sql server 会更好地处理这种事情吗?
【问题讨论】:
-
您是否尝试检查explain plan 以查看是否使用了索引?无论如何,12 GIG 只是数据,索引应该是额外的几个 GIG。我认为与其他替代方案相比,SQLite 的表现可能太过分了,尽管理论上 limit 是 140 TERA。
-
其实我忘了说,索引后文件大小基本上翻了一番——12gb到24gb
-
我会运行解释看看,谢谢
标签: sql sql-server performance sqlite