MySql有关索引的优化

一、写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 * ,避免返回不需要的字段。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值