mysql的优化主要分为三部分:
1. 索引的优化
(1):只要列中含有NULL值,就最好不要在此例设置索引,复合索引如果有(2):NULL值,此列在使用时也不会使用索引
(3):尽量使用短索引,如果可以,应该制定一个前缀长度
(4):对于经常在where子句使用的列,最好设置索引,这样会加快查找速度
(5):对于有多个列where或者order by子句的,应该建立复合索引
(6):对于like语句,以%或者‘-’开头的不会使用索引,以%结尾会使用索引
(7):尽量不要在列上进行运算(函数操作和表达式操作)
(8):尽量不要使用not in和<>操作
2. sql语句的优化
(1):查询时,能不要就不用,尽量写全字段名
(2):大部分情况连接效率远大于子查询
(3):多使用explain和profile分析查询语句
(4):查看慢查询日志,找出执行时间长的sql语句优化
(5):多表连接时,尽量小表驱动大表,即小表 join 大表
(6):在千万级分页时使用limit
(7):对于经常使用的查询,可以开启缓存
3. 表的优化
(1):表的字段尽可能用NOT NULL
(2):字段长度固定的表查询会更快
(3):把数据库的大表按时间或一些标志分成小表
766



被折叠的 条评论
为什么被折叠?



