• 欢迎访问 winrains 的个人网站!
  • 本网站主要从互联网整理和收集了与Java、网络安全、Linux等技术相关的文章,供学习和研究使用。如有侵权,请留言告知,谢谢!

标签:索引

数据库

索引中一些易忽视的点

索引中一些易忽视的点
导言 从接触java到现在也有差不多两年时间了,两年时间,从一名连java有几种数据结构都不懂超级小白,到现在懂了一点点的进阶小白,学到了不少的东西。知识越分享越值钱,我这段时间总结(包括从别的大佬那边学习,引用)了一些平常学习和面试中的重点(自我认为),希望给大家带来一些帮助 索引中一些易忽视的点 Redis基础知识两篇就满足(一) Redis基础知……继续阅读 »

winrains 2个月前 (04-30) 20浏览 0评论 0个赞

MySQL

MySQL索引的工作原理

MySQL索引的工作原理
索引是一种加快查询的数据结构,在 MySQL 中,索引的数据结构选择的是 B+Tree,至于 B+Tree 是什么以及为什么 MySQL 为什么选择 B+Tree 来作为索引,可以去查看公众号的前三篇文章。 索引数据结构之 B-Tree 与 B+Tree(上篇) 索引数据结构之 B-Tree 与 B+Tree(下篇) MySQL 为什么不用数……继续阅读 »

winrains 2个月前 (04-23) 14浏览 0评论 0个赞

MySQL

MySQL为什么不用数组、哈希表、二叉树等数据结构作为索引

MySQL为什么不用数组、哈希表、二叉树等数据结构作为索引
前言 在上一篇博客中详细说明了 MySQL 的索引使用的是 B+Tree 这种数据结构,而不是 B-Tree,然而平时我们接触到了很多高效的数据结构,例如数组、哈希表、二叉搜索树、红黑树等,那为什么 MySQL 不选择这些数据结构作为索引呢? MySQL 作为存储数据的组件,它的主要操作就是数据的增删改查,其中查询操作又是重中之重。我们经常所说的数据库优……继续阅读 »

winrains 2个月前 (04-23) 23浏览 0评论 0个赞

数据库

索引数据结构之B-Tree与B+Tree(下篇)

索引数据结构之B-Tree与B+Tree(下篇)
前言 接上篇博客《索引数据结构之 B-Tree 与 B+Tree(上篇)》,本文将简单介绍 B+Tree 中插入、查找、删除等相关操作,以及对比 B-Tree 与 B+Tree 的区别,最后会重点分析为什么 MySQL 会选择 B+Tree 作为索引的数据结构,而不是 B-Tree。 B+Tree B+Tree 的大分部性质与 B-Tree 的性质一样,……继续阅读 »

winrains 2个月前 (04-23) 15浏览 0评论 0个赞

数据库

索引数据结构之B-Tree与B+Tree(上篇)

索引数据结构之B-Tree与B+Tree(上篇)
树 树是一种十分常见的数据结构,根据子结点的个数,我们可以将树分为二叉树和多叉树。每个结点最多两个子结点的树称之为二叉树,比较典型的二叉树有二叉搜索树、完全二叉树、满二叉树、二叉平衡树、红黑树等。子结点的个数大于 2 的树称之为多叉树,常见的多叉树有 B 树和 B+树。 B 树和 B+树是一种多路搜索树,它由二叉搜索树演变而来,常用于数据库的索引结构中,……继续阅读 »

winrains 2个月前 (04-23) 17浏览 0评论 0个赞

MySQL

MySQL 索引深入剖析

MySQL 索引深入剖析
1.索引是什么? 1.1.索引是什么 一张表有 500 万条数据,在没有索引的 name 字段上执行一条 where 查询: select * from user_innodb where name ='青山'; 如果 name 字段上面有索引呢?在 name 字段上面创建一个索引,再来执行一下相同的查询。 ALTER TABLE user_in……继续阅读 »

winrains 3个月前 (03-31) 18浏览 0评论 0个赞

数据库

索引失效的十大杂症

索引失效的十大杂症
背景 最近生产爆出一条慢sql,原因是用了or和!=,导致索引失效。于是,总结了索引失效的十大杂症,希望对大家有帮助,加油。 一、查询条件包含or,可能导致索引失效 新建一个user表,它有一个普通索引userId,结构如下: CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, ……继续阅读 »

winrains 3个月前 (03-28) 15浏览 0评论 0个赞

MySQL

MySQL 索引优化实战

MySQL 索引优化实战
上篇文章中介绍了索引的基本内容,这篇文章我们继续介绍索引优化实战。在介绍索引优化实战之前,首先要介绍两个与索引相关的重要概念,这两个概念对于索引优化至关重要。 本篇文章用于测试的user表结构: 索引相关的重要概念 基数 单个列唯一键(distict_keys)的数量叫做基数。 SELECT COUNT(DISTINCT name),COUNT(DISTI……继续阅读 »

winrains 4个月前 (02-29) 25浏览 0评论 0个赞

MySQL

MySQL索引完全解读

MySQL索引完全解读
索引这个词,相信大多数人已经相当熟悉了。不过为了文章的完整性,这里再啰嗦一下。索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了。 注意这里的大量,数据量大了索引才显得有意义,如果我想要在[1,2,3,4]中找到4这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。 索引在mysql数据库……继续阅读 »

winrains 5个月前 (02-07) 13浏览 0评论 0个赞

MySQL

MySQL 索引设计概要

MySQL 索引设计概要
在关系型数据库中设计索引其实并不是复杂的事情,很多开发者都觉得设计索引能够提升数据库的性能,相关的知识一定非常复杂。 然而这种想法是不正确的,索引其实并不是一个多么高深莫测的东西,只要我们掌握一定的方法,理解索引的实现就能在不需要 DBA 的情况下设计出高效的索引。 本文会介绍 数据库索引设计与优化 中设计索引的一些方法,让各位读者能够快速的在现有的工程中……继续阅读 »

winrains 7个月前 (11-29) 11浏览 0评论 0个赞