数据库索引入门介绍

1.什么是索引

(1)索引就是目录
为了查询的速度增加,建立一个目录(这也就意味着需要额外的开支)
一般在where字句后经常出现的字段。(通常在数据量超过10000条时使用)
没有大量的DML语句(DML语句频繁使用的时候,不适合建立索引)
(2)以二叉树举例来说明索引
索引相当于把表中的数据分区存放,用某个关键词+关键词对应的记录的存储地址(物理地址),以图为例,查找Smith时,从king开始,向下向右,再向下向右,然后向下向左,找到Smith的物理地址,进而找到Smith;利用这种方式只查找了少部分数据,大大减少了扫描范围;
**注意:**如果有多个smith,则存放在一起,即一个’子树’存放多个同名为Smith的对应的物理地址;
在这里插入图片描述

2.对比建立索引和没有建立索引

(1)没建索引时默认全表扫描

explain select * from emp where ename='smith';

未建立索引时,途中type所示,为ALL,即全表查询
在这里插入图片描述
(2)建立索引后,扫描的是目录,大大减少了扫描的范围

explain select * from temp where ename='smith';

建立索引后type显示为ref,此时查找不在需要全表搜索
在这里插入图片描述

3.建立索引

(1)复制一张表

create table temp as select * from emp;

(2)对新复制的表建立索引

create index name_index on temp(ename);

(3)利用索引搜索

select * from emp where ename='smith';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值