1
A
回答
3
对于100M行,插入需要较长的时间,特别是如果其中一列是indexed
。由于索引,它将不得不相应索引新插入的行,这需要更多时间。对于select语句来说,索引是一个很好的选择,但是如果你有更多的插入,那么插入会花费更多的时间,这会变得很痛苦。
2
是的。如果桌子上有索引,更是如此。这thread可能是一个很好的阅读。
1
是的。特别是因为索引。如果为该表定义了索引,则对于每个插入,需要执行一些计算。
E.g.如果索引说它以排序的方式排序,那么当你插入一个新行时,你必须在索引列中找到该行的位置。可能有一个二进制搜索算法,它可以做到这一点。如果有100行,则需要log(100)时间,但如果有100M行,则需要log(100M)时间。
0
如果将索引应用于列,并且未按照索引顺序插入新行,则将值插入索引中间会导致性能损失,这会导致索引重新构建。但是,您不会在每个插页上遇到罚分。 BTREE索引中有一些空间可以在中间插入一些新节点,而不必重构索引。
没有足够的内存,您也可能遇到索引的分页问题。
相关问题
- 1. 是否写入受ssd 4k对齐影响的大块?
- 2. 受键盘大小影响的列表
- 3. 受其他表大小影响的表的MySQL速度?
- 4. 表大小是否影响INSERT性能?
- 5. HTML:div不受影像大小的影响
- 6. 受std :: cin影响的矢量大小?
- 7. 受窗口大小影响的OpenGL framebuffer
- 8. MySQL表名是否区分大小写?
- 9. mysql:将插入到临时表中的受影响的行
- 10. 这是否容易受到SQL注入的影响
- 11. 此LINQ语句是否容易受到SQL注入的影响?
- 12. 确定表是否受到任何触发器的影响
- 13. MySQL的row_count()行受到影响
- 14. 大班是否会影响表现?
- 15. 是否导入影响文件大小AS3
- 16. 是否受影响插入行的语句总是1?
- 17. 固定字体大小不受放大或缩小影响
- 18. MySQL查询0行受到影响
- 19. sqlite3表大小是否会影响性能?
- 20. 如何让Kendo下拉列表不区分大小写不受影响
- 21. 书写文字(不影响大小)
- 22. UTC_TIMESTAMP()是否受夏时制影响?
- 23. SUDS是否受防火墙影响?
- 24. 在MySQL中,TEXT或BLOB的指定大小是否会影响性能或表大小?
- 25. 从Node.js更新MySQL - 如何判断零行是否受影响?
- 26. PHP SoapServer是否受最大执行时间影响?
- 27. 写入httpResponse时,响应是否有大小限制?
- 28. 特定于域的cookie是否容易受到CSRF的影响?
- 29. CSS3的结尾是否受到用户sid影响的$函数?
- 30. 算法是否受到并行性影响的大O符号评级?
理论上,表越大,更新索引所需的时间越长,并且在原始磁盘空间中查找空闲位置以写入新行所用的时间越长。在实践中,有太多可以肯定的变数。 – 2012-01-17 21:35:39