1、经常用在where和order by之后的列,应当建立索引。
2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。
3、一般不确定列的大小,建议用varchar,当该列可为空时,值为null时不占用空间。
4、在建表时,可以设置默认值的尽量设置默认值而不是null。
5、应尽量避免在 where 子句中使用 != 或 <> 操作符,否则引擎将放弃使用索引而进行全表扫描。
6、应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where id=10 or Name = 'admin'替换为:
select id from t where id= 10 union all select id from t where Name = 'admin'7、尽量避免在where子句中对字段进行表达式操作,或在where之后对字段进行函数操作,这样将导致引擎放弃索引查询而改为全表搜索。
未完待续!
ip地址:http://www.cnblogs.com/yunfeifei/p/3850440.html