• 数据库整理(索引)


    2 索引
    使用树形结构提高查询速度的操作
    叶子节点上:数据大小小,且区分度高
    聚集索引:即主键索引:叶子节点存在id,关联着对应数据(主键)where ... 只能在主键的时候明显提高检索速度
    只能给一个字段加主键,如果在where中不使用该字段,则索引无效
    添加主键的方式即为添加主键索引的方式


    辅助索引:在建立树形结构的时候,叶子节点中存的是列数据+id。获取列之后,在根据对应的id去找(使用聚集索引的模式)

                      这样的话,数据在叶子占用空间少,

    唯一索引:unique

        创建:是直接在字段后加unique   或者后续添加   alter table 表名 add unique key 自己指定的索引名字(字段);

        删除: alter table 表名drop index 自己指定的索引名字   或者    drop index 自己指定的索引名字 on 表名;

    普通索引:index

           创建时单独一个逗号隔开,index  自己指定的索引名字(字段)  或者后续添加   alter table 表名 add index 自己指定的索引名字(字段);

                删除同上

    2.1 命中索引

           指的是如何合理的提高已经增加的索引的实际利用率

      范围查询:>,>=,like   这种方式效率低,尽可能的要精确范围

      在使用and查找时,一旦某个条件中有索引对应的字段,则先执行有索引的条件,是一种mysql的自动优化机制。自动选择定位范围内快的条件查询,针对的是多条件语句的and结果

      索引的计算:自断不要计算,后面的数据可以计算。where id*10=100,是错的;where id=10*10,是对的。

      =和in语句是可以乱序的,也是一种自动优化

    优化神器:explain,在要进行查找的原句前加一个explain即可预执行,可以显示扫描的行数等信息

    2.2 联合索引

      给多个字段合并加一个索引,一切的写法都不变:字段的写法是在括号内写多个,彼此用逗号隔开

      最左匹配特性:where要求最左边的字段必须有,数据区分度高的和数据长度小的字段房子括号里的前面,

      没有最左的字段则导致这个联合索引失效

    2.3 覆盖索引

      只有一个字段的内容被取出来的索引语句结果

    2.4 慢查询日志

      设置时间,查看、记录查询速度慢的语句

  • 相关阅读:
    阿里云服务器搭建之绑定多个域名
    centos7下yum安装mysql
    Mac 升级之后 无法通过域名 SSH 连接
    【课程章节更新】突破 没有支付权限的小程序 完成支付闭环
    每次sudo su切换root用户,都要source /etc/profile
    那些让你震惊的网站
    bootstrap select2使用模态框,搜索框无法输入问题解决
    新浪图片停止外链后的一些解决办法
    Yii2 报错 Headers already sent in
    使用Python Flask 开发微信机器人
  • 原文地址:https://www.cnblogs.com/shachengcc1/p/11444212.html
Copyright © 2020-2023  润新知