数据库优化

一.sql语句优化

1.应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。
2.应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE
3.应尽量避免在 where 子句中使用 or 来连接条件, 否则将导致引擎放弃使用索引而进行全表扫描, 可以 使用UNION合并查询: select id from t where num=10 union all select id from t where num=20
4.提高GROUP BY语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉.下面两个查询返回相同结果,但第二个明显就快了许多.


语句1.png

语句2

5.sql语句尽量使用大写,因为mysql在处理sql语句的时候,首先会将语句统一转换为大写。
6.下面的查询将导致全表扫描:select id from user_msg where name like ‘%abc%’ 或者select id from user_msg where name like ‘%abc’若要提高效率,可以考虑全文检索。而select id from user_msg where name like ‘abc%’ 才用到索引

你可能感兴趣的:(数据库优化)