Mysql索引是什么?目前就知道主键,还有其他的吗,用处是什么呢

Mysql索引是什么?目前就知道主键,还有其他的吗,用处是什么呢

​老师给解释一下好吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小脸 2021-09-22 10:15:01

同学你好,关于索引可以这么理解,索引是统称,索引是对数据库表中一列或多列的值进行排序的一种结构,是用来定位的。索引可以提高查询速度,通过它可以快速查询到结果,不需要进行全表扫描

这里给同学举个小例子:

如下图所示:

http://img1.sycdn.imooc.com//climg/5d282571000102a306190200.jpg

字段名称是id,category_id,name等上图标识的字段。

索引是为某一个字段上加上索引,使我们根据此字段查询时速度更快。

而索引名称就是为这个索引起一个名字。一般情况下,我们不会使用到索引名称。

例如:

ALTER TABLE `book` ADD INDEX index_name ( `id` )

这是为表book的id字段添加索引,索引名称是index_name。

在开发中,因为经常执行根据id字段查询数据,所以为id字段加上索引后,下面的查询查询语句速率就会提高。

select * from book where id=1;

祝学习愉快~

  • 提问者 qq_慕神0589333 #1

    那主键不也是这个吗id 作用,为什么还要设置索引

    2021-09-22 11:26:34
  • 好帮手慕小脸 回复 提问者 qq_慕神0589333 #2

    同学你好,是的,一般情况下我们都把主键作为索引,因为主键 是唯一的,不重复的,并且不为空的。最适合做索引了。但两者还是有一些区别的,如下:

    1、主键:主键的作用就是唯一标识表中的某一行数据。

    2、索引:索引的作用就是提高数据的检索速度

    他们的关系是这样的:主键一定是索引,但是索引不一定是主键。一个表只能有一个主键或联合主键,但是可以有多个索引。

    祝学习愉快!


    2021-09-22 15:53:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师