MySQL进阶45讲【4】索引原理剖析(上) 朴灿烈づ我的快乐病毒、 2024-05-07 22:29 56阅读 0赞 ## 1 前言 ## 提到数据库索引,想必大家并不陌生,在日常工作中会经常接触到。比如某一个SQL查询比较慢,分析完原因之后,就会有“给某个字段加个索引”之类的解决方案。但到底什么是索引,索引又是如何工作的呢?今天就让我们一起来聊聊这个话题吧。 数据库索引的内容比较多,所以分成了上下两篇文章。索引是数据库系统里面最重要的概念之一,所以希望大家能够耐心看完。 一句话简单来说,**索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本500页的书,如果想快速找到其中的某一个知识点,在不借助目录的情况下,那需要找很久**。同样,对于数据库的表而言,索引其实就是它的“目录”。 ## 2 索引的常见模型 ## 索引的出现是为了提高查询效率,但是实现索引的方式却有很多种,所以这里也就引入了索引模型的概念。可以用于提高读写效率的数据结构很多,这里先给大家介绍三种常见,也比较简单的数据结构,它们分别是哈希表、有序数组和搜索树。 下面主要从使用的角度,给大家简单分析一下这三种模型的区别。 哈希表是一种以键-值(key-value)存储数据的结构,我们只要输入待查找的值即key,就可以找到其对应的值即Value。哈希的思路很简单,把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置。 不可避免地,多个key值经过哈希函数的换算,会出现同一个值的情况。处理这种情况的一种方法是,拉出一个链表。 假设,现在维护着一个身份证信息和姓名的表,需要根据身份证号查找对应的
相关 MySQL进阶45讲【9】普通索引和唯一索引,应该怎么选择? MySQL进阶45讲【9】普通索引和唯一索引,应该怎么选择? 喜欢ヅ旅行/ 2024年05月07日 22:31/ 0 赞/ 35 阅读
相关 MySQL进阶45讲【10】MySQL为什么有时候会选错索引? MySQL进阶45讲【10】MySQL为什么有时候会选错索引? 绝地灬酷狼/ 2024年05月07日 22:31/ 0 赞/ 43 阅读
相关 Mysql实战45讲---04 深入浅出索引(上) 04 深入浅出索引(上) 提到数据库索引,我想你并不陌生,在日常工作中会经常接触到。比如某一个 SQL 查询比较慢,分析完原因之后,你可能就会说“给某个字段加个索引吧”之 ゞ 浴缸里的玫瑰/ 2023年09月27日 08:53/ 0 赞/ 73 阅读
相关 mysql进阶(四)44-45索引总结 表1: create table test03( id int primary key not null auto_increment, c1 c ゝ一世哀愁。/ 2022年05月18日 02:40/ 0 赞/ 108 阅读
还没有评论,来说两句吧...