加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php - mysql索引的疑惑??

发布时间:2022-12-09 14:34:25 所属栏目:MySql教程 来源:转载
导读: 先说说我对mysql索引的理解:
表A:
name sex age
cxl male 21
yueshu female 20
csy female 0
....
普通情况下,name 字段未建立索引,A 表中查

先说说我对mysql索引的理解:

表A:

name      sex        age
cxl       male       21
yueshu    female     20
csy       female     0
....

普通情况下,name 字段未建立索引,A 表中查找 name = yueshu 的记录mysql表索引,则查询过程如下:

// 原表中查询
name = cxl       , No

name = yueshu    , Yes => return
一条条按照记录的先后顺序,线性查找下去,直到符合条件的出现,则终止查询。

name 建立索引的情况下,A 表中查找 name = yueshu 的记录,则查询过程如下(参考资料:):

1. 由于 name 字段建立了索引,所以实际上在建立索引的同时
   1.1 数据库会隐式的生成一张保存了当前索引字段和当前索引字段所在记录指针的索引表
       索引表会占据额外的磁盘空间
   1.2 占据的空间计算:
        1.2.1 占据空间 = 磁盘块数量 * 默认的磁盘块大小

mysql表索引_mysql 创建表 索引_查阅mysql哪些表有索引

1.2.1.1 磁盘块数量 = 记录数 / 每磁盘块存放的记录数 1.2.1.1.1 每磁盘块存放的记录数 = 默认的磁盘块大小 / 每条记录占据的磁盘大小 2. 查找数据的时候是在这张索引表中去查找的,并不会在原表中进行查找 2.1 mysql查询过程 2.1 mysql 查询是在磁盘块上进行线性查找 2.2 查找效率对比 2.2.1 索引表中的磁盘块数量 远小于 原表中的磁盘块数量,所以在建立了索引的字段上进行查找 能够在更小的范围内查找出想要的结果,因而,效率,非常高

请结合 参考资料 上的描述,先纠正下我对索引的理解,然后在给出正确的解释...谢谢

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!