数据库原理与应用 第 7 章 · 第四节
课程第 7 章第四节 为什么快四种分法别乱建接下来 版式
第 7 章 视图和索引 · 第四节

索引是什么

索引为什么能提速、有哪几类,以及为什么不能乱建。
本 节 知 识 点
  1. 18索引是给数据建一本目录
  2. 19索引可以从四个角度分类
  3. 20索引不是越多越好
  4. 21索引讲完道理,看命令
18
第 7 章 · 第四节

索引是给数据建一本目录

没有目录只能一页页翻,有目录就能直奔那一页。

第 18 页课件

试一试查一个字的两种办法

查「魏」字
    一本字典两种查法,翻的页数差着好几十倍。

    重 点

    索引存的是一组键值对,键是那一列的值,值是这一行在哪儿。

    想一想

    字典要是不带前面那几页拼音表,会怎么样?

    19
    第 7 章 · 第四节

    索引可以从四个角度分类

    按特征、按列数、按存储方式、按和数据的物理关系。

    第 19 页课件

    分清楚四个角度

    按什么分分出哪几种
    索引的特征普通、唯一、主键
    涉及几列单列、复合
    怎么存B-Tree、Hash
    和数据的关系聚集、非聚集

    重 点

    日常用得最多的是 B-Tree 的普通索引和唯一索引,其余几种知道有就行。

    知道更多主键就是一种索引

    建表时写下 PRIMARY KEY,MySQL 已经悄悄给你建好了一个唯一索引。

    20
    第 7 章 · 第四节

    索引不是越多越好

    查是快了,但每插一行、每改一行都要顺带更新每一份索引。

    第 20 页课件

    试一试索引从零加到八个

    这张表上建
    索引是拿空间和写入速度,去换查询速度。

    重 点

    索引是拿空间和写入速度去换查询速度,重复值多的列建了也没什么用。

    知道更多第四条要更正

    课件说给视图建索引能提速,MySQL 其实不支持这件事,那是别家数据库的说法。

    记牢它该建在哪些列上

    1. 常拿来筛的列
    2. 常拿来排序的列
    3. 常拿来连接的列
    21
    第 7 章 · 第四节

    索引讲完道理,看命令

    建索引有三种写法,看和删各有两条命令。

    第 21 页课件

    记牢它建索引的三种写法

    1. CREATE INDEX
    2. 建表时顺带写
    3. ALTER TABLE 补

    重 点

    三种写法建出来的索引没有任何区别,区别只在于表是不是已经建好了。

    保山学院·人工智能教研室·曹鼎鼎