• mysql索引【第四篇】


    优化器选择索引的逻辑:

    找到一个最优的执行方案,用最小的代价去执行语句。在数据库里,扫描行数是影响执行代价的因素之一,扫描行数越少,意味着访问磁盘的次数越少,消耗CPU资源越少。当然,是否生成临时表、是否排序等因素也会影响优化器选择索引。

    索引选择异常和处理:

    1.使用 force index 强行选择一个索引

    如果索引改了名字,相因的语句需要修改。不同类型数据库迁移还可能会有语法不兼容

    2.修改sql语句,引导mysql使用我们期望的索引  【但是要语句逻辑一致】

    3.重建一个更合适的索引,或删掉误用的索引

    前缀索引:

    alter table A add index   idx_mail(email(4))    ##比如 email的值为:xiaoming@qqq.com

    执行顺序:

    1.从索引树上找到满足索引值 xiao 的记录

    2.到主键查处整行数据,判断取出的值与查询条件是否匹配            ##这里有一个回表的过程

    3.查询下一条数据,继续判断,直到索引值不满足xiao的记录,跳出循环

    优点:定义好长度,可以节省空间,减少额外增加的查询成本

    缺点:在多个索引的查询条件中,覆盖索引会失效

  • 相关阅读:
    安卓第一夜 第一个应用
    为什么要学习Linux
    Android的历史与花边
    来玩Play框架07 静态文件
    来玩Play框架06 用户验证
    来玩Play框架05 数据库
    来玩Play框架04 表单
    来玩Play框架03 模板
    来玩Play框架02 响应
    来玩Play框架01 简介
  • 原文地址:https://www.cnblogs.com/byfboke/p/13228163.html
Copyright © 2020-2023  润新知