大表上的CREATE INDEX存在sqlite3内存问题

时间:2017-11-07 03:53:17

标签: sqlite

我有一张非常大的桌子,有数十亿行。当我尝试在其上创建索引时,sqlite3崩溃并出现“总线错误”。我在Linux上运行sqlite 3.8.4.1,内存为10G,页面大小= 1096,我尝试了环境变量

export TMPDIR=/home/tmp
export SQLITE_TMPDIR=/home/tmp

并设置

PRAGMA cache_size=2000;

在执行我的create index命令之前。有人有主意吗?或者是数十亿行的sqlite注定要失败吗?

1 个答案:

答案 0 :(得分:0)

我修复了它,感谢@ CL。的评论帮助,更新为sqlite3 3.21

关于@dzm的评论,我的数据库确实有几十亿行的表,但到目前为止(使用较新的sqlite)它似乎有效。我打算将它用于只读分析目的,但我也会尝试将其复制到mysql,因为sqlite对大数据的所有负面压力。