首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在内存数据库中的SQLite中,哪一个更快:无索引,加载到索引表中,还是在加载后构建索引?

在内存数据库中的SQLite中,哪一个更快:无索引,加载到索引表中,还是在加载后构建索引?
EN

Stack Overflow用户
提问于 2012-09-29 21:54:24
回答 1查看 1K关注 0票数 1

我正在使用SQLite将一个大约9 9Gb的大型数据集加载到":memory:“数据库中。现在,我有一个从.csv文件加载数据的python脚本(逐行执行一些其他操作)。然后,我需要在两个大表上做一些连接。如果数据库在内存中,那么索引我要连接的列会有什么不同吗?如果是这样的话,在将数据加载到表中之前创建带有索引的表还是在连接之前构建索引更好?最后,如果我为列指定类型,在速度方面是否会有所不同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-29 22:16:30

索引将有所帮助:搜索表中的所有记录仍然比使用二进制搜索在索引中查找要慢。

如果在加载数据之前创建索引,则必须为每个插入的记录更新索引。

在SQLite中,除了type affinity之外,列类型并不重要。不声明列类型将与拥有正确的类型一样快;只有当您设法为列声明错误的类型时,您才会获得类型转换的额外开销。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12653282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档