1.SQL语句优化
- 尽量避免在where子句中使用!=或<>操作符,否则引擎将会放弃使用索引进而进行全表查询
- 尽量避免在where子句后面对字段进行null值的判断,否则引擎会放弃索引查找进而进行全表查询
- 用exits代替in,in代表的范围,指某一字段在某一范围之内,这个范围一般使用子查询来完成,也就是说in子查询返回的结果是结果集;而EXITS表示存在,至少存在一处,这个条件由EXITS子查询来查询,但是在这里EXITS子查询返回的结果不再是结果集而是一个布尔值(true或false);
2.索引优化
索引类型:
唯一索引,不可以出现相同的值,可以有NULL值
普通索引,允许出现相同的索引内容
主键索引,不允许出现相同的值,且不能为NULL值,一个表只能有一个primary_key
全文索引,上述三种索引都是对列的值发挥作用,全文索引可以针对值中的某个单词发挥作用
3.数据库结构的优化
范式优化:比如消除冗余
反范式优化:比如适当加冗余等(减少join)
拆分表:分区将数据在物理上分隔开,不同分区的数据可以制定保存在处于不同磁盘上的数据文件里
拆分分为垂直拆分和水平拆分
4.选择适合的数据类型
5.服务器硬件的优化
原文章来自:https://www.cnblogs.com/xiaozhaung/p/10871576.html