zoukankan      html  css  js  c++  java
  • mysql之索引基础知识与索引的创建

    1.什么是索引

    给出索引的官方介绍:索引(Index)是帮助MySQL高效获取数据的数据结构。Mysql索引主要有两种结构:B+Tree索引和Hash索引。我们平常所说的索引,如果没有特别指明,一般都是指B树结构 组织的索引(B+Tree索引)。

    索引相当于一本字典的目录,通过目录快速的找到需要找的词。提高查找的速度。因此在mysql建立索引,是非常有必要的事情,mysql中的索引可以大大增强查询的速度。

    如果将mysql中索引查询的速度比做兔子的速度,那么没有索引的mysql查询就是乌龟的速度。

    2.索引的作用

    提高查询速度。

    3.索引的优点

    1、索引能够提高数据检索的效率,降低数据库的IO成本。

    2、在使用分组和排序子句进行数据检索时,大大减小查询时间。

    3、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

    4、加速两个表之间的连接,一般是在外键上创建索引。

    4.索引的缺点

    1、降低了更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。

    2、需要占用磁盘空间,建立的索引越多需要的空间越大。

    3、维护成本高,创建索引和维护索引要耗费时间,而这个时间随着数据量的增加而增加。

     

    5.创建索引

    在穿件索引的时候,不要随便创建。首先需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。

    一般需要建立索引的字段

    1、经常用在where语句之后的字段。

    2、主键或者外键。

    3、字段具有唯一性的时候建立唯一性索引。

    4、在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的。

    6.索引分类

    索引分四类:普通索引、主键索引、唯一索引、复合索引。

    普通索引:index 一般用于查询条件后的字段(包含重复值)。

    主键索引:primary key 索引值是唯一值,切不能为null

    唯一索引:unique 索引值是唯一值,但是可以出现多次null,可以为null(不包含重复数据)。

    复合索引:一个索引中包含多个列 ,这多个列是一一对应的。

  • 相关阅读:
    简单的JAVAWeb选课系统
    公文流转系统001
    第九周动手动脑
    JAVA文件操作
    动手动脑-异常处理
    个人NABCD
    水王(课堂作业)
    软件学习进度表07
    软件工程学习进度表06
    软件工程个人作业05(二维数组求最大子数组的和)
  • 原文地址:https://www.cnblogs.com/dw-date/p/12801186.html
Copyright © 2011-2022 走看看