您的位置:首页 > 科技 > 能源 > 小程序订货系统_泉州网红打卡地_百度下载安装官方下载_seo实战技术培训

小程序订货系统_泉州网红打卡地_百度下载安装官方下载_seo实战技术培训

2024/11/16 4:20:05 来源:https://blog.csdn.net/weixin_42923363/article/details/142911017  浏览:    关键词:小程序订货系统_泉州网红打卡地_百度下载安装官方下载_seo实战技术培训
小程序订货系统_泉州网红打卡地_百度下载安装官方下载_seo实战技术培训

在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的:

MyISAM和InnoDB存储引擎:只支持BTREE索引, 也就是说默认使用BTREE,不能够更换

MEMORY/HEAP存储引擎:支持HASH和BTREE索引

Mysql索引的数据结构目前主要有以下几种:FULLTEXT,HASH,BTREE,RTREE。

1. FULLTEXT

即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。

全文索引并不是和MyISAM一起诞生的,它的出现是为了解决WHERE name LIKE “%word%"这类针对文本的模糊查询效率较低的问题。

2. HASH

由于HASH的唯一(几乎100%的唯一)及类似键值对的形式,很适合作为索引。

HASH索引可以一次定位,不需要像树形索引那样逐层查找,因此具有极高的效率。但是,这种高效是有条件的,即只在“=”和“in”条件下高效,对于范围查询、排序及组合索引仍然效率不高。

3. BTREE

BTREE索引就是一种将索引值按一定的算法,存入一个树形的数据结构中(二叉树),每次查询都是从树的入口root开始,依次遍历node,获取leaf。

4. RTREE

RTREE在MySQL很少使用,仅支持geometry数据类型,支持该类型的存储引擎只有MyISAM、BDb、InnoDb、NDb、Archive几种。

相对于BTREE,RTREE的优势在于范围查找

数据库底层的数据结构有hash结构,但为什么大多数用的是B+Tree结构

  • 优点
    • 对索引的key进行一次hash计算就可以定位出数据存储的位置
    • 很多时候hash索引要比B+Tree索引更高效
  • 缺点
    • hash冲突问题
    • 仅能满足 “=”,“IN”,不支持范围查找

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com