1.mysql插入优化:
第一种优化方案:使用MySQL特有的插入方式
插入多条记录
第二种优化方案:使用事务进行插入多条数据
插入多条数据
第三种优化方案:主键顺序插入
2.mysql查询优化:
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描
3.应尽量避免在 where 子句中使用!=或<>操作符
4.应尽量避免在 where 子句中使用 or 来连接条件
5.应尽量避免在 where 子句中对字段进行表达式操作
6.应尽量避免在where子句中对字段进行函数操作
7.很多时候用 exists 代替 in 是一个好的选择
8.任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段
9.尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理
10.尽量避免大事务操作,提高系统并发能力
3.mysql索引失效:
1.最佳左前缀法则
2.主键插入顺序
3.计算、函数、类型转换(自动或手动)导致索引失效
4.范围条件右边的列索引失效
5.不等于(!= 或者<>)导致索引失效
6.is null可以使用索引,is not null无法使用索引
7.like以通配符%开头索引失效
8.OR 前后只要存在非索引的列,都会导致索引失效?
9.数据库和表的字符集统一使用utf8mb4