索引优化
索引建立原则
1.在频繁在 where,group by,order by 子句出现的字段
2.经常用作过滤器的字段
3.用于连接的键(主键,外键)
索引注意事项
1.小型表建立索引可能影响性能
2.避免对大量增删改操作的字段建立索引
3.避免对有较少值的字段建立索引(例如性别只有男和女)
sql 语句优化
避免全局扫描
1.where 子句中尽量不要使用 null 值判断,可以改用一个默认值例如 0
2.where 子句尽量不要用的关键字:or, !=, <>, in, not in
3.like 尽量指使用一个 %,例如 %tom% 改为 tom%
4.where 子句避免对表字段(=左边的)进行表达式操作,函数操作
5.复合索引要满足最左前缀原则,假如复合索引为(a,b,c),则 where a='tom' 使用索引 a
where b='tom' 未使用索引
where a='tom' and b=12 使用索引 a,b
where a='tom' and c='student
'使用索引 a
where a like tom% 使用索引 a
where a like %tom% 未使用索引
非索引优化
1.尽量使用数字型字段,降低存储,增加查询性能
2.尽量使用 varchar 代替 char,因为 char 是定长的,而 varchar 不是,例如:cahr(20)存入了“abc”,则占据 20 个字节,17 个为空,但是使用 varchar(20)则只占据 3 个字节。
3.不要使用 select *,而是使用自己需要的字段列。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于