我有一个超过 10^7 行的 MyISAM 表。向其中添加数据时,我必须在最后更新 ~10 行。删除它们然后插入新行更快,还是更新这些行更快?应更新的数据不是索引的一部分。索引/数据碎片怎么样
UPDATE
到目前为止要快得多。
当你UPDATE
,表记录刚刚被新数据重写。
当你DELETE
,索引应该更新(记住,您删除整行,而不仅仅是需要修改的列)并且数据块可能会被移动(如果您点击PCTFREE
limit)
所有这一切都必须在INSERT
.
这就是为什么你应该始终使用
INSERT ... ON DUPLICATE KEY UPDATE
代替REPLACE
.
前一个是一个UPDATE
关键违规时的操作,而后者是DELETE
/ INSERT
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)