zoukankan      html  css  js  c++  java
  • mysql学习05-索引简介

    1.索引 - 排好序的快速查询数据结构(数据库系统维护着满足特定查找算法的数据结构-Btree,这些数据结构以某种形式指向数据)。主要就是Btree索引。

       索引一般以索引文件的形式存在于硬盘上,因此是需要消耗磁盘空间的。

    2.索引分类:

    单值索引:只对某张表的一个字段建立索引。(基本不适用)

    唯一索引:索引列的值是唯一的。

    复合索引:对于多个字段,根据业务情况建立合适的索引。(常用)

    3.优劣势

      优势:提高检索效率,降低IO成本,降低排序成本,减少CPU消耗等等。

      劣势:占用磁盘空间(还好),更新表的速度降低。

    4.建立索引的条件

      数据量在300W以上,对于经常用在where条件语句中的字段,order by 后面的字段以及group by 后面的字段等等。

      (如果某个列包含的值存在大量的重复,建立索引的意义不大) 

    对于索引的建立需要大量的实践,才能建立优秀的索引。

    5.检索原理

     最上面的一行为根节点,其中15与56之间的空白位置保存了指向下面一个子节点的指针,以这样的形式逐层查找。

    例如需要查找18代表的这条数据,则需要进行三次扫描查找定位到18代表的数据。

    如果没有建立索引形成这样的索引树,则需要进行全表扫描,数据量巨大时,查询速率明显下降。

  • 相关阅读:
    屏蔽右键
    无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
    屏蔽右键
    Servlet的三个基本方法
    应用HttpClient来对付各种顽固的WEB服务器 摘抄
    Apache xmlrpc
    利用缓存机制快速读取XML文件数据
    JDBC连接MySQL
    HttpClient入门
    5款主流NoSQL数据库全方位横评
  • 原文地址:https://www.cnblogs.com/joeking/p/12724775.html
Copyright © 2011-2022 走看看