首页

文章

MySQL有哪些索引类型

发布网友 发布时间:2022-03-24 21:59

我来回答

2个回答

热心网友 时间:2022-03-24 23:29

主要有这些:
PRIMARY, INDEX, UNIQUE 这3种是一类
PRIMARY 主键。 就是 唯一 且 不能为空。
INDEX 索引,普通的
UNIQUE 唯一索引。 不允许有重复。
FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。

热心网友 时间:2022-03-25 00:47

B-Tree索引:
B-Tree索引是被大多数MySQL存储引擎支持的,在我们讨论索引时,假如没有特别地说明类型,那么大概率说的就是B-Tree索引了。我们使用B-Tree这个词,是因为MySQL在创建表和其他语句中就使用这个关键字。
然而,在不同存储引擎的底层可能使用不同的数据结构和算法,比如:InnoDB存储引擎内部使用的是B+Tree结构,NDB集群存储引擎内部使用的是T-Tree结构。不同存储引擎用以不同的方式使用B-Tree索引,性能也可能不同,比如:InnoDB的索引上存储的是元数据格式,而MyISAM存储引擎使用前缀压缩技术使索引更小,InnoDB索引的行存储的数据行的主键引用,而MyISAM存储引擎的索引的行存储的是数据行的物理位置。
B-Tree索引的用法:
根据B-Tree索引的特点,它可以用于全值匹配、值范围匹配和最左前缀匹配。
全值匹配是指和索引中所有的字段进行匹配,比如:查询黑龙江省哈尔滨市南岗区的数据。值范围匹配是指索引中字段的某一范围进行匹配,但是必须满足前面字段的全匹配,比如:第一个字段province_name省名称的全匹配,第二个字段city_name城市名称的范围匹配。最左前缀匹配是指索引中字段的某一开头部分进行匹配,但是必须满足前面字段的全匹配,比如:第一个字段province_name省名称为内蒙古,第二个字段city_name城市名称以“呼”开头。
哈希索引:
哈希索引是基于哈希表实现的,用于精确匹配索引所指向的数据。存储引擎对每一行数据的所有索引字段计算出一个哈希码,哈希码是一个比较小的值,并且不同的数据计算出来的哈希码一般情况下也不一样。哈希索引中存放了这个哈希码和指向这个数据行的指针。
在MySQL中,只有Memory存储引擎支持哈希索引,也是Memory存储引擎的默认索引类型。另外,在InnoDB存储引擎中也运用了哈希索引,叫做自适应哈希索引。当某些索引中被非常频繁的使用时,InnoDB存储引擎会在内存中基于B-Tree索引之上再创建一个哈希索引,这样一来使得B-Tree索引也具有的快速哈希查找的优点。
哈希索引因为只需存放对应数据的哈希值,所以索引的结构非常紧凑,占用空间小,同时查询速度也非常快。不过,哈希索引只支持全值等值查询,不能索引字段范围匹配和部分索引字段匹配。
空间数据索引:
空间数据索引(R-Tree)主要用于地理数据的存储,会从所有维度来索引数据,查询时可以有效的使用任意维度进行组合查询。 目前,MyISAM存储引擎支持空间数据索引,不过必须使用MySQL的GIS相关的函数来维护数据。
在MySQL中,空间索引只能建立在空间数据类型上,如:GEOMETRY、POINT、LINESTRING等。
全文索引:
全文索引不像之前介绍的索引那样直接比较索引中的值,而是直接比较查找的文本中的关键词,它类似于搜索引擎做的事情,不是简单的where条件匹配。
在相同的字段上,可以同时创建全文索引和B-Tree索引,不会有冲突。全文索引适用于match和against操作,不是普通的where条件操作。在MySQL中,只能在类型为CHAR、VARCHAR、TEXT的字段上创建全文索引。
如何为职务侵占罪进行辩护 职务侵占如何辩护 职务侵占罪有效辩护点有哪些 miui11开发者选项在哪_小米miui11开发者选项在哪 查询考研成绩需要什么 考研查分前要做什么 考研查询需要什么证件 研究生什么专业好 什么专业的研究生最好 考研究生什么专业好 研究生学什么专业 宝石花的养殖方法介绍 宝石花怎么养才长得好 不想让老婆看到我电脑里的一些东西怎么办? 桥好路由器停电后在来电老是获取lp 勒索病毒加密的文件如何恢复? TPU贴合膜多少钱 华为手机如何将输入法改为简体 肉丝炒金针菇做法 仓储冷链信息怎么申报 什么是药品冷链物流 浙江食品冷链运输多少钱 生物冷链具备什么资质 投诉检测站最有效办法 冢君的解释 304C型钢厂 真诚推荐 永浩供 乌鲁木齐球墨铸铁厂家排名 2023年抖音618好物节招商规则 2023年抖音好物年货节好物直播间玩法说明 抖音2023好物年货节玩法攻略 互联网内容平台——小红书的优势与困境 ...女儿房间的空调洗一下滤网,问一下格力小金豆空调面罩怎么打开... 传真机和打印机有什么区别? 传真纸和打印纸哪个好 传真纸和复印纸哪个好 虚拟语气as though 的问题 We didn't know his telephone number, otherwise we would have teleph... 我想问一下 错综复杂条件句 那怎么不能使用在这里 if i can do this... 好可怕...好可怕的梦... 线束组装线束组装工艺要求 汽车线束英语翻译 带表卡尺怎么读数 带表卡尺的使用方法 压力变送器数显表 公主连结凯露表情包大全 臭鼬表情包图片一览[多图] 单眼皮怎么使用双眼皮贴? 咬人的那特小的虫子叫什么 Bose音响怎么连接蓝牙 博士音响蓝牙怎么连接 夹了一片菜叶,上面摆了七根鱼刺和在碗里放了七个汤勺,每个汤勺里放一根... 微信聊天记录怎么才能彻底删除?通过这几种操作可以确保隐私安全!_百度... IDM IDMShellExt64.dll无法删除 - 删除使用中的(进程相关或残留)文件... 写关于活动的句子100字 《mysql索引背后的数据结构及算法原理》pdf下载在线阅读全文,求百度网盘云资源 MySQL 索引是怎么实现的? mysql 索引结构是btree还是b+tree mysql innodb存储引擎,聚集索引和辅助索引,采用什么数据结构 为什么mysql的数据结构用的是b+而不是b mysql 索引有几种类型 mysql采用哪些索引,B树索引解释下 为什么MySQL数据库索引选择使用B+树 索引数据结构都有哪些? 分别有什么区别呢? 一般都采用什么结构的呢? 请问mysql索引,有主键索引、唯一索引、全文索引、组合索引、普通索引,他们分别的数据结构是什么? mysql索引使用的是Btree还是B+tree?为什么 mysql 索引有哪些?各⽤用了了哪些数据结构 mysql索引的数据结构,为什么用b+树 mysql索引采用什么数据结构 想买个红米手机,note8和note8pro哪个更不会发热呢? 小米8对比红米note8 手机redmi note8和redmi note8pro哪个性价比高? 红米note8和红米note8Pro,哪个能用久一点不卡? 红米note8和note8pro哪个好 200元的差距,红米Note8相比于Note8 Pro差了多少? mysql innodb 索引到底是b+树还是b树? mysql有几种索引类型?使用索引时都有那些地方要注意 mysql索引类型解释 mysql底层的数据结构是怎么样的 什么叫摄像轴线? 轴线的分类有哪些? 电影拍摄的轴线和轴线规律 好莱坞电影镜头轴线 遵从轴线规律的拍摄的9个机位分别是什么?9种越轴处理方法是哪9种? 摄影中,什么是光轴 ? 电影中的摄像机越轴,到底是什么意思,能不能举个 什么叫轴线规律 摄像轴线的问题 摄影里什么叫做越轴 谁说一下什么是180度拍摄? 试听语言之摄影机轴线:怎样才能合理的越轴 轴线是什么 电影中的摄像机越轴,到底是什么意思,能不能举个例子? 什么叫运动摄像?运动摄像的拍摄方式?各具什么样的造型表现特征? 摄像有哪些技巧?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com