一、写SQL需要注意的?
1.在where及order by之后创建索引。
2.避免使用!=和<>,会导致索引无效。
3.有关null值问题
例如:select * from user where sex is null,避免使用
应给sex设置一个默认的值0。
4.避免使用or查询,否则会放弃索引。可以使用union all替代or。
5.like查询,like '%%'前面有%会导致全表扫描。
6.使用between and代理in,in会导致全表扫描。
7.在where子句中使用参数,会导致全表扫描。
8.在where子句中对字段进行表达式操作,导致全表扫描。
9.在where子句中对字段进行函数式操作,导致全表扫描。
10.where语句“=”左边避免使用运算,会导致全表扫描。
11.复合索引,必须使用第一个字段作为where的条件。
12.不写没有意义的查询。
13.尽量使用exists代替in。
14.列中的重复数据较多的不适合建索引。
15.索引会提高select的效率,但相应会降低insert和update的效率。
16.MySql对于数字的索引会快于字符串的索引。
17.使用varchar代替nchar,会提升索引效率。
18.避免使用select * ,避免返回不需要的字段。