MYSQL的各个索引类型有什么区别?

MYSQL的各个索引类型有什么区别?,第1张

PRIMARY, INDEX, UNIQUE 这3种是一类

PRIMARY 主键。 就是 唯一 且 不能为空。

INDEX 索引,普通的

UNIQUE 唯一索引。 不允许有重复。

FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。

举个例子来说,比如你在为某商场做一个会员卡的系统。

这个系统有一个会员表

有下列字段:

会员编号 INT

会员姓名 VARCHAR(10)

会员身份z号码 VARCHAR(18)

会员电话 VARCHAR(10)

会员住址 VARCHAR(50)

会员备注信息 TEXT

那么这个 会员编号,作为主键,使用 PRIMARY

会员姓名 如果要建索引的话,那么就是普通的 INDEX

会员身份z号码 如果要建索引的话,那么可以选择 UNIQUE (唯一的,不允许重复)

会员备注信息 , 如果需要建索引的话,可以选择 FULLTEXT,全文搜索。

不过 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。

用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。

PRIMARY, INDEX, UNIQUE 这3种是一类

PRIMARY 主键。 就是 唯一 且 不能为空。

INDEX 索引,普通的

UNIQUE 唯一索引。 不允许有重复。

FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。

举个例子来说,比如你在为某商场做一个会员卡的系统。

这个系统有一个会员表

有下列字段:

会员编号 INT

会员姓名 VARCHAR(10)

会员身份z号码 VARCHAR(18)

会员电话 VARCHAR(10)

会员住址 VARCHAR(50)

会员备注信息 TEXT

那么这个 会员编号,作为主键,使用 PRIMARY

会员姓名 如果要建索引的话,那么就是普通的 INDEX

会员身份z号码 如果要建索引的话,那么可以选择 UNIQUE (唯一的,不允许重复)

会员备注信息 , 如果需要建索引的话,可以选择 FULLTEXT,全文搜索。

不过 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。

用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。

主键索引又称之为聚簇索引或一级索引,这个索引上面存储着具体的行数据。当通过主键索引查询数据的时候,可以直接在索引上面获取到我们的行数据。

普通索引又称为非聚簇索引或二级索引,这个索引上面存储的是主键索引的键值。当我们通过普通索引获取数据的时候,需要根据普通索引上面存储的主键索引的值,再去查一次主键索引,然后才能从主键索引上查询我们要的行数据。这个动作也就是我们平时经常说的回表 *** 作。

你可以简单理解为:通过主键索引查询数据的时候,只查询1次就OK,而通过普通索引查询数据的时候,需要有回表的动作,需要查询2次才开可以得到数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7607964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存