我有一个超过10 ^ 7行的MyISAM表.向其添加数据时,我必须在最后更新~10行.删除它们然后插入新的更快,还是更新这些行更快?应更新的数据不是索引的一部分.那么索引/数据碎片怎么样?
Qua*_*noi 21
UPDATE
远远快得多.
当你UPDATE
,表记录刚刚用新数据重写.
当你DELETE
,索引应该更新(记住,你删除整行,而不仅仅是你需要修改的列)和数据块可能会被移动(如果你达到了PCTFREE
限制)
所有这些必须再次完成INSERT
.
这就是你应该经常使用的原因
INSERT ... ON DUPLICATE KEY UPDATE
Run Code Online (Sandbox Code Playgroud)
而不是REPLACE
.
前者是UPDATE
密钥违规时的操作,后者是DELETE
/ INSERT
.