mysql优化
- 合理建表,杜绝列多表
btree 主键索引叶子节点保存所有数据,为保证tree高度的前提下,根据mysql页默认大小16384KB,h=3前提下,16384 / 索引 大小 ≈ mysql 索引覆盖下单表最大数据存储量,一般我建议单表 <= 500 W 数据
- 合理建索引
索引不是建表的时候建,是项目封版期前,针对所有sql角度来建索引,按最左原则和覆盖字段原则去建联合索引
- sql优化
开启mysql慢sql日志,同时检查sql,方法很简单,能range是最低要求了
- 合理选择事务的隔离级别
这个是降低锁切换带来的阻塞,当然视业务情况而定
-
mysql开启binglog容灾备份防止删库跑路
-
mysql单机系统资源CPU 内存 磁盘 网络 (SSD带来的提升真的很大)
-
针对join这种,2次join以上的在客户端来做
-
读写分离(主从)
这个没啥说的 2 8 原则,80% select
-
数据分析这种还是上大数据吧
-
锁
这个东西也是视业务而定,X S 锁,乐观锁(MVCC) 和 悲观锁 这个有提升,不过真的看业务情况
- 存储过程和触发器这种的不合适了啊