哪个选项更好,更快? 插入数据后在空表上创建索引或创建唯一索引后插入数据。我有大约10M行插入。哪个选项会更好,这样我的宕机时间最少。在空表上创建索引后插入数据或在Oracle上插入数据后创建唯一索引?
9
A
回答
19
先插入您的数据,然后创建您的索引。
每次执行UPDATE,INSERT或DELETE操作时,表中的任何索引都必须更新。因此,如果您先创建索引,然后再插入10M行,那么索引也必须更新10M(除非您正在执行批量操作)。
6
插入记录然后在导入行后创建索引会更快更好。速度更快,因为插入行时没有索引维护的开销,并且从索引上的碎片角度来看它更好。
显然,对于唯一索引,请确保您要导入的数据是唯一的,以便在尝试创建索引时没有失败。
2
正如其他人所说,先插入并在稍后添加索引。如果表已经存在并且您必须插入一堆数据,请删除所有索引和约束,插入数据,然后重新应用您的索引,然后重新应用您的约束。你一定会想要做中间提交来帮助排除你会用完回滚段空间或类似的东西。如果你插入这么多的数据,看看使用SQL * Loader来节省你的时间和恶化会很有用。
我希望这会有所帮助。
相关问题
- 1. 创建(插入)数组索引
- 2. 在排序数据上创建索引
- 3. 从数据列创建唯一索引
- 4. ORACLE在索引表上插入性能
- 5. 可以在插入时在表上创建索引
- 6. 数据库索引检查插入之前vs唯一索引
- 7. 在现有表上创建索引Oracle
- 8. EF CodeFirst - 在数据库创建后创建索引
- 9. 在创建表上创建索引
- 10. 创建数据库索引Vs用户为表创建索引
- 11. 创建用户后插入数据库
- 12. 无法在创建关联后插入数据 - Ruby上的Rails
- 13. MongoDB:插入唯一索引
- 14. 创建索引数据帧
- 15. Oracle中的问题删除索引并在插入记录后创建
- 16. 插入数据如果表存在或创建表并插入数据
- 17. TSql,在数据输入之前或之后建立索引
- 18. 在SQLite.swift数据库创建后插入初始数据
- 19. 在数据加载之前或之后创建Oracle SQL索引是否更好?
- 20. 创建唯一节点或创建唯一索引
- 21. 创建Oracle表索引
- 22. 如何在Oracle中创建唯一索引但忽略空值?
- 23. 在URL列上创建主键或唯一索引
- 24. 创建一个虚拟的SQL表,然后插入数据
- 25. 在MySQL中使用值插入创建幂等表和索引
- 26. 在临时表列上创建索引是否唯一?
- 27. 如何在非唯一的表上创建索引?
- 28. 在Objectbox中创建唯一索引
- 29. 在pyarango arangodb中创建唯一索引
- 30. 插入重复的数据与唯一索引
“中,你是节约资源或使事情误以为常犯走得更快不仅会为您提供: Ø会降低你的,是的,这是正确的,会降低你的 - 让你运行SLOOOWWWWEEERRR o不保存任何资源,事实上,它消耗更多(您生成更多重做) o严重质疑数据的完整性“ – Angelina 2014-05-27 18:52:39