9.MySQL 相关优化

  1. SQL查询优化
    1)不在索引列上上使用表达式计算;
    2)不要再索引列上使用 is null 和 is not null;
    3)避免子查询,用 exists 替代 in、用 not exists 代替 not in;
    4)尽量避免全表扫描,首先应考虑在where 及 order by 涉及的列上建立索引;
    5)不要 select * ;
    6)尽量别使用外键;
    7)索引字段不要使用范围查询(<,>,between,like);
    8)尽量避免大事务操作,提高系统并发能力;
    9)where 判断 null影响效率,尽量给字段一个默认值;
    10)可以使用 explain 命令进行分析;
  2. MySQL 不建议默认 null 值原因
    1)值比较比较复杂;
    2)索引的效率会下降很多,因为它们使得索引、索引的统计信息以及比较运算更加复杂;
    3)not in、!= 等负向条件查询在有 null 值的情况下返回永远为空结果,查询容易出错;
  3. MySQL 尽量选择最小数据类型的原因
    因为最小的数据类型会占用更小的磁盘、内存、CPU缓存和周期,所以也会更快。
  4. MySQL 模糊查询会导致索引失效
    用 like 模糊查询时:
    1)% 和 _ 通配符放在前面会导致索引失效;
    2)% 和 _ 通配符放在后面不会导致索引失效;
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值