MySQL数据库百万数据查询优化

本文介绍了数据库索引的优化方案,包括最左前缀法则、避免对索引字段进行算术处理、减少全字段选择、LIKE模糊查询优化及合理使用LIMIT等。通过这些技巧可以显著提升数据库查询效率。

explain 在查询语句前加上进行分析


    数据库索引会大大优化数据的查询,所以对数据表建立索引是很有必要的

优化方案


    1.最左前缀法则:数据库建立的复合索引会采用最左前缀法则。
        当进行数据查询时,限制条件需要和建立复合索引的顺序相匹配,此时的查询采用的是最左前缀法则。
        举例: 如果复合索引的顺序为a->b->c。

                如果按 a - > c - >  索引有效
                那么如果按照a->c查找时, a索引有效,c索引无效
                如果按照a->b 查找时,a,b索引都有效
                如果按照b->c 查找时,b,c索引都失效
                如果只有b或c时,都无效
        原则就是,从左到右的顺序,哪里断开哪里失效

   2.索引字段如果放在 范围查找的右边,索引会失效

索引为什么会失效?

 由于是复合索引,复合索引的排序规则是先按照左边的排序,如果相同,则按照右边的排序,那么用不到第一个,就肯定用不到第二个


    3.原则上不对索引进行算数处理,类似加减,函数,类型转换


    4.减少select字段中* 的使用,会使用不到覆盖索引(覆盖索引:select的查询字段和where字段使用的索引一致)。也会查找很多不必要的字段,浪费带宽

  覆盖索引会防止回表操作


    5.like模糊查询的优化
        (1)前后两个%是用不到索引的。应该去掉前面的%。
        (2)如果要使用前后两个%, 需要用到覆盖索引  select name from users where name = 'zs';

6.能使用limit就使用limit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值