zoukankan      html  css  js  c++  java
  • 索引

    MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。

    可以得到索引的本质:索引是数据结构

    上面的理解比较抽象,举一个例子,平时看任何一本书,首先看到的都是目录,通过目录去查询书籍里面的内容会非常的迅速。

    MySql中的索引其实也是这么一回事,我们可以在数据库中建立一系列的索引,比如创建主键的时候默认会创建主键索引,上图是一种BTREE的索引。每一个节点都是主键的ID

    当我们通过ID来查询内容的时候,首先去查索引库,在到索引库后能快速的定位索引的具体位置。

      索引得分类

    普通索引:即一个索引只包含单个列,一个表可以有多个单列索引

    唯一索引:索引列的值必须唯一,但允许有空值

    复合索引:即一个索引包含多个列

    聚簇索引(聚集索引):并不是一种单独的索引类型,而是一种数据存储方式。具体细节取决于不同的实现,InnoDB的聚簇索引其实就是在同一个结构中保存了B-Tree索引(技术上来说是B+Tree)和数据行。

    非聚簇索引:不是聚簇索引,就是非聚簇索引

     基础语法

    查看索引

    SHOW INDEX FROM table_nameG

    创建索引

    CREATE  [UNIQUE ] INDEX indexName ON mytable(columnname(length));

    ALTER TABLE 表名 ADD  [UNIQUE ]  INDEX [indexName] ON (columnname(length))

    删除索引

    DROP INDEX [indexName] ON mytable;

  • 相关阅读:
    poj 1328 Radar Installation (贪心)
    hdu 2037 今年暑假不AC (贪心)
    poj 2965 The Pilots Brothers' refrigerator (dfs)
    poj 1753 Flip Game (dfs)
    hdu 2838 Cow Sorting (树状数组)
    hdu 1058 Humble Numbers (DP)
    hdu 1069 Monkey and Banana (DP)
    hdu 1087 Super Jumping! Jumping! Jumping! (DP)
    必须知道的.NET FrameWork
    使用记事本+CSC编译程序
  • 原文地址:https://www.cnblogs.com/qin1993/p/12118925.html
Copyright © 2011-2022 走看看