Att*_* O. 10 sql database postgresql performance
我有一个如下所示的数据结构:
Model Place
primary key "id"
foreign key "parent" -> Place
foreign key "neighbor" -> Place (symmetryc)
foreign key "belongtos" -> Place (asymmetric)
a bunch of scalar fields ...
Run Code Online (Sandbox Code Playgroud)
我在模型表中有超过500万行,我需要在两个外键表中插入约5000万行.我有这样的SQL文件:
INSERT INTO place_belongtos (from_place_id, to_place_id) VALUES (123, 456);
Run Code Online (Sandbox Code Playgroud)
它们各约为7 Gb.问题是,当我这样做时psql < belongtos.sql,在我的AMD Turion64x2 CPU上导入约400万行需要大约12个小时.操作系统是Gentoo~amd64,PostgreSQL是8.4版,本地编译.数据目录是一个绑定挂载,位于我的第二个扩展分区(),我认为这不是瓶颈.ext4
我怀疑插入外键关系需要这么长时间,因为psql检查每一行的键约束,这可能会增加一些不必要的开销,因为我确信数据是有效的.有没有办法加快导入,即暂时禁用约束检查?
Fra*_*ens 16
| 归档时间: |
|
| 查看次数: |
4823 次 |
| 最近记录: |