zoukankan      html  css  js  c++  java
  • 数据库整理(索引)

    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 慢查询日志

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

  • 相关阅读:
    MVC基础
    JQuery基本知识、选择器、事件、DOM操作、动画
    LinQ各种方式查询、组合查询、IQueryable集合类型
    LinQ 创建连接、简单增删改查
    webform-AJAX
    JavaScricp(总回顾)
    响应式布局(收藏)
    webform:分页组合查询
    webform:图片水印、验证码制作
    【转】开发人员一定要加入收藏夹的网站
  • 原文地址:https://www.cnblogs.com/shachengcc1/p/11444212.html
Copyright © 2011-2022 走看看