在介绍数据库性能优化时提到:
使用INNODB,经常操作的数据表中所有字段尽量设计成数值型,用update替代INSERT和DELETE操作
对于update, insert,delete性能的解释
1. Oracle数据库中Insert、Update、Delete操作速度:
http://www.webjx.com/database/oracle-12810.html
2. update、insert、delete语句的优化:
http://hi.baidu.com/fishhust/blog/item/8303c0017ae8aa0f728da562.html
3. 频繁insert、delete、update的table该如何加index?
http://bbs.soidc.net/q/12/090612/09/1415522_1.html
Q:index能够提升select的性能 ,但对于insert、delete、update的table来说,index又会成为额外的负担。除了 定期rebuild index之外,还有什么还好的办法吗?还有,delete、update某行记录后,该行记录原有的index会怎么处理?
A: 频繁insert、delete、update的table 一般来说数据 应该比较多 , 加入index的几率应该比较大 。 经常被更新的字段 尽量不建立索引 ,整个table 索引不要太多即可 个人理解: Insert 的时候不管是否索引在哪个字段, 都需要维护 Index , update 的时候,如果更新的字段是索引字段,那么需要额外维护索引, delete 数据的时候, 维护成本应该比update的时候小, 因为实体 的索引没有动, 只是标示而已。
注解:上面的回答貌似有道理,也能解释“用update替代INSERT和DELETE操作”,但是没有查到更多更详细的资料验证。