写操作包括:新增、修改、删除、批量操作
-
使用Innodb的行锁技术,可以在行锁不冲突的情况下,并发的写的操作。比如多个事务可以同时往一张表所中插入各自的数据,因为ID不冲突,系统自动维护ID自增。
-
分库操作可以从物理层面提升写的速度:读写分离、分库
- 因为大部分的业务都是读为主,写为辅助,读写分离后,写数据库专注于写,性能更高。
- 分库操作同理,可以通过垂直拆分,把不同的业务分散到不同的数据库,从而降低了耦合度和写的性能。通过水平拆分,比如按照订单创建年份分库,也是从物理层面上提升写的速度
-
删除掉多余的或者不频繁用到的索引,这样减少写操作时的额外开销
-
对查询做优化,因为修改和删除的第一步还是先查询,定位数据,再做修改
代码优化:
- 根据业务场景拆分事务,把大事务拆分成小事务,提高并发度
- 可以通过多语句执行来提升写的速度(Mybatis)。默认Mysql关闭执行多语句执行的功能。
网友评论