mysql索引是什么意思

什么是索引?

mysql索引是什么意思

MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。我们可以简单理解为:快速查找排好序的一种数据结构。Mysql索引主要有两种结构:B+Tree索引和Hash索引。我们平常所说的索引,如果没有特别指明,一般都是指B树结构组织的索引(B+Tree索引)。

索引的类型

索引类型有多种,哈希、BTREE、全文索引等,其实不管什么类型,都是为了在特定业务场景下方便快速查找数据的算法。

例如哈希索引,key-value形式,最简单的,书本的目录也是类似的。

假如有一本书中,我们已知文章标题要找到这篇文章来阅读,如果没有目录,我们就要翻整本书去找标题,

但是如果标题单独抽出来作为key,页码作为value就可以快速找到内容。

显然书本开头的目录是要占用几页纸的,建立索引也是要消耗资源的。

BTREE索引是另一种算法,不同业务场景使用对应索引会更有效率。

就好比新华字典的目录跟普通的书本目录不同,新华字典可以通过拼音或者偏旁部首的查询方法去快速查到字在第几页,这也是一种“索引”

还有全文索引等,这里不在描述,例如solr、elasticsearch使用的算法可以去研究一下

索引概念

索引本质:索引就是数据库表中字段值的复制,该字段称为索引的关键字

牛NIUCMS本地O2O系统 牛NIUCMS本地O2O系统

牛NIUCMS本地O2O系统是一个以php+mysql进行开发的o2o网站系统。NIUCMS是一款强大的网站管理系统。支持智慧城市、智慧小区、智慧乡村、本地生活门户、本地O2O平台的构建。请注意以下几点:1、这套源码必须要服务器支持伪静态,是支持.htaccess规则的伪静态,一般Apache服务器支持,别搞的下载回去以后说什么缺 少文件,其实源码并非缺少文件。2、这套源码请在php 5.4环境下

牛NIUCMS本地O2O系统 0 查看详情 牛NIUCMS本地O2O系统

索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录

索引往往通过复杂的数据结构(双向链表、B+树/B树、hash)实现

MyISAM存储引擎的表支持主索引,InnoDB存储引擎的表支持聚簇索引(主索引)与非聚簇索引(辅助索引)索引优化使用

索引的优缺点

@优点:

MySQL的索引的建立对于MySQL的高效运行非常重要,可以大大提高MySQL的检索速度。

在分组和排序字句进行数据检索,可以减少查询时间中 分组 和 排序时所消耗的时间(数据库的记录会重新排序)

在表连接的连接条件 可以加速表与表直接的相连

@缺点:

但过多使用索引会造成索引滥用,提高了检索速度,缺降低了表的更新速度

如:对表进行增删改查操作时,MySQL不仅要保存数据,还要保存索引文件,建立索引会占用磁盘空间的索引文件

在创建索引和维护索引 会耗费时间,随着数据量的增加而增加

以上就是mysql索引是什么意思的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1079265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
在Java中如何使用CopyOnWriteArrayList实现线程安全操作_CopyOnWriteArrayList使用指南
上一篇 2025年12月2日 17:39:59
Nginx环境下CSS样式失效是什么原因?
下一篇 2025年12月2日 17:40:01

相关推荐

发表回复

登录后才能评论
关注微信