2016/11/03_sql optimization principle
表设计时的优化
字段设计时使用not null
大表按业务需求拆分成小表 比如说时间
字段尽量设计为定长
索引优化
经常在where子句使用的列,设置索引
多个列where或者order by子句的,建立复合索引
可以限制数据量最小的索引,放在where条件的最左边
当子查询比较耗时或数据量大时,为了减少扫描数据,建议把母查询的条件为赋予子查询
语句优化(慢查询优化)
使用explain和profile分析查询语句
查看慢查询日志
千万级分页时使用limit
不要select *
多表连接时 小表join大表
经常使用的查询,可以开启缓存
不要使用not in和<>操作
Last updated