MySQL索引类型Normal、Unique和FullText的讲解MySQL的索引类型有普通索引(normal),唯⼀索引(unique)和全⽂索引(full text),合理使⽤索引可⼤⼤提升数据库的查询效率,下⾯是三种类型的索引的介绍
normal:这是最基本的索引,它没有任何限制,MyIASM中默认的BTREE类型的索引,是我们⼤多数情况下⽤到的索引。unique:表⽰唯⼀的,不允许重复的索引,如果该字段信息保证不会重复。例如⾝份证号⽤作索引时,可设置为unique。full text : 表⽰全⽂搜索的索引,仅可⽤于 MyISAM 表。 FULLTEXT ⽤于搜索很长⼀篇⽂章的时候,效果最好。⽤在⽐较短的⽂本,切记对于⼤容量的数据表,⽣成全⽂索引是⼀个⾮常消耗时间⾮常消耗硬盘空间的做法。
mysql索引类型Normal,Unique,Full Text区别
Normal:
表⽰普通索引,⼤多数情况下都可以使⽤pyside6中文
Unique:
约束唯⼀标识数据库表中的每⼀条记录,即在单表中不能⽤每条记录是唯⼀的(例如⾝份证就是唯⼀的),Unique(要求列唯⼀)和Primary Key(primary key = unique + not null 列唯⼀)约束均为列或列集合
中提供了唯⼀性的保证,Primary Key是拥有⾃动定义的Unique约束,但是每个表中可以有多个Unique约束,但是只能有⼀个Primary Key约束。
mysql中创建Unique约束
Full Text:
表⽰全⽂收索,在检索长⽂本的时候,效果最好,短⽂本建议使⽤Index,但是在检索的时候数据量⽐较⼤的时候,现将数据放⼊⼀个没有全局索引的表中,然后在⽤Create Index创建的Full Text索引,要⽐先为⼀张表建⽴Full Text然后在写⼊数据要快的很多
总结,索引的类别由建⽴索引的字段内容特性来决定,通常normal最常见。
在实际操作过程中,应该选取表中哪些字段作为索引?
为了使索引的使⽤效率更⾼,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引,有7⼤原则:
1.选择唯⼀性索引
无效浮点运算
唯⼀性索引的值是唯⼀的,可以更快速的通过该索引来确定某条记录。例如,学⽣表中学号是具有唯⼀性的字段。为该字段建⽴唯⼀性索引可以很快的确定某个学⽣的信息。如果使⽤姓名的话,可能存在同名现象,从⽽降低查询速度。
2.为经常需要排序、分组和联合操作的字段建⽴索引
经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间。如果为其建⽴索引,可以有效地避免排序操作。
git代码回滚到上一个版本3.为常作为查询条件的字段建⽴索引
如果某个字段经常⽤来做查询条件,那么该字段的查询速度会影响整个表的查询速度。因此,为这样的字段建⽴索引,可以提⾼整个表的查询速度。
4.限制索引的数⽬
sql 取整函数索引的数⽬不是越多越好。每个索引都需要占⽤磁盘空间,索引越多,需要的磁盘空间就越⼤。修改表时,对索引的重构和更新很⿇烦。越多的索引,会使更新表变得很浪费时间。
5.尽量使⽤数据量少的索引
如果索引的值很长,那么查询的速度会受到影响。例如,对⼀个CHAR(100)类型的字段进⾏全⽂检索需要的时间肯定要⽐对CHAR(10)类型的字段需要的时间要多。
6.尽量使⽤前缀来索引
如果索引字段的值很长,最好使⽤值的前缀来索引。例如,TEXT和BLOG类型的字段,进⾏全⽂检索会很浪费时间。如果只检索字段的前⾯的若⼲个字符,这样可以提⾼检索速度。
7.删除不再使⽤或者很少使⽤的索引
mysql面试题及讲解
表中的数据被⼤量更新,或者数据的使⽤⽅式被改变后,原有的⼀些索引可能不再需要。数据库管理员应当定期出这些索引,将它们删除,从⽽减少索引对更新操作的影响。
注意:选择索引的最终⽬的是为了使查询的速度变快。上⾯给出的原则是最基本的准则,但不能拘泥于上⾯的准则。读者要在以后的学习和⼯作中进⾏不断的实践。根据应⽤的实际情况进⾏分析和判断,选择最合适的索引⽅式。
举个例⼦来说,⽐如你在为某商场做⼀个会员卡的系统。这个系统有⼀个会员表(⼤致字段如下):
会员编号  INT
会员姓名  VARCHAR(10)java的三大框架
会员⾝份证号码  VARCHAR(18)
会员电话  VARCHAR(10)
会员住址  VARCHAR(50)
会员备注信息  TEXT
那么这个会员编号,作为主键,使⽤ PRIMARY
会员姓名如果要建索引的话,那么就是普通的 INDEX
会员⾝份证号码如果要建索引的话,那么可以选择 UNIQUE (唯⼀的,不允许重复)
会员备注信息如果需要建索引的话,可以选择 FULLTEXT,全⽂搜索。
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,谢谢⼤家对的⽀持。如果你想了解更多相关内容请查看下⾯相关链接

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。