索引(上)

1. 索引概述

定义:索引是帮助MySQL 高效查询的数据结构

2. 索引优势劣势

优势

        1. 提高数据检索效率,降低数据库的IO成本

        2. 通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗

劣势

        1. 实际上索引也是一张表,保存了主键和索引字段,并指向实体类的记录,

            所以索引列也要占用空间

        2. 虽然提高了查询效率,但是也降低了更新表的速度

3. 索引结构

        MySQL 提供了一下4中索引

  • BTREE 索引:最常见的索引类型,大部分索引都支持 B树索引
  • HASH索引:只有Memory 引擎支持,使用场景简单。
  • R-tree索引(空间索引):空间索引是MyISAM引擎的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少(不特别介绍)
  • Full-text(全文索引):全文索引也是MyISAM的一个特殊索引类型,主要用于全文索引,InnoDB从MySQL 5.6 版本开始支持全文索引。
三种存储引擎对各种索引类型的支持
索引 InnoDB 引擎 MyISAM 引擎 Memory 引擎
BTREE 索引 支持 支持 支持
HASH 索引 不支持 不支持 支持
R-tree 索引 不支持 支持 不支持
Full-text 5.6 版本之后支持 支持 不支持

你可能感兴趣的:(MySQL高级—黑马视频笔记,mysql,数据库,database)