mysql实践行为准则

mysql实践行为准则

  1. 通过普通索引更新数据,在mysql默认的rr隔离级别下会产生间隙锁,会导致在锁范围内新增数据记录时被阻塞;
  2. 使用二级索引更新记录时,在二级索引上产生的间隙锁容易与插入意向锁形成竞态,相互等待,导致死锁;
  3. 必须使用主键更新数据;
  4. 所有的update和delete操作,必须使用主键索引来更新数据;
  5. 不使用replace into操作数据,相同场景使用insert into … on duplicate key update …替代;
  6. 必须使用innodb,utf-8,指定主键(一般为自增ID);
  7. 避免使用全文索引;
  8. 单表数据超过500万条再考虑分表分库;
  9. 字段属性定义越小越好,能char就不varchar,所有字段都必须设备not null并给默认值;
  10. 小数类型必须定义为decimal,float/double存在精度丢失问题;
  11. varchar长度不超过2000;
  12. 禁止超过三个表的join;
  13. like左模糊或全模糊匹配会导致索引失效;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值