MySQL
文章平均质量分 91
小游鱼KF
这个作者很懒,什么都没留下…
展开
-
MySQL随笔——B+索引的使用及优化
前言在之前的文章中说过索引的底层是B+树,现在让我们在回顾一下知识:B+树有很多层,最底层称为叶子节点,其余的称为内节点。所有的用户记录存储在叶子节点中,而记录项目录存储在内节点。InnoDB引擎会依据主键(没有指定时数据库自动加入虚主键)创建聚簇索引根据业务的要求不同需要的索引列也不同,这时候可以创建二级索引,二级索引的用户记录为 主键+索引列。当需要查询的数据不是主键或者索引列时,使用二级索引会进行回表操作,获取对应的主键后使用聚簇索引进行二次查找得到需要的值索引的每一个叶子节点都是对应一个原创 2022-02-20 17:52:46 · 615 阅读 · 0 评论 -
MyBatis学习随笔(1)
前言本篇文章是跟随遇见狂神说学习MyBatis的第一篇随笔。在跟随遇见狂神说的视频学习的过程中,学会了如何学习MyBatis,明白了MyBatis的本质是什么。同时狂神根据文档的教学也让我有深刻的学习体会。MyBatis系列文章将根据MyBatis的中文文档以及我的学习心得拼接完成,文档链接如下:MyBatis中文文档MyBatis是什么MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBat原创 2022-02-01 12:19:50 · 1600 阅读 · 0 评论 -
InnoDB数据页结构
前言之前说过,记录是数据库操作的基本单位(如不理解请看InnoDB记录结构),数据存储在磁盘中,数据库操作在内存中进行,要完成对数据库的操作就要进行磁盘和内存的交互,但是如果数据众多,不可能让磁盘和内存进行频繁的交互,因为这是个低效率的行动,所以数据库推出了磁盘和内存交互的单位概念——页。在明白记录的结构之后,也让我们了解一下页的结构。如果你学习过索引,你会了解索引的查找方式为什么会是那样的了。页的结构清单页的基本结构以及作用如下:File Header:页的通用信息,占38字节Page Hea原创 2022-01-26 17:49:05 · 250 阅读 · 0 评论 -
快速查询的秘籍 —— B+索引的建立
前言之前的文章说过,InnoDB存储数据的单位是页,各个数据页之间采用双向链表连接起来;而每个数据页中的记录之间又通过单向链表连接,而记录又分为若干个组,组采用最大记录的记录信息作为槽信息,多个槽组合成页目录;当用户查询某条记录 A 时,先使用二分法在页目录中找到主键值比 A 的主键值大且差值最小的槽,然后再使用二分法找到对应的记录。没有索引的查找在一个页中查找在一个页中查找一条记录,当知道主键时可以采用前言中的方法快速查找到对应的记录;但是如果是其他列信息为查询条件就没这么幸运了,因为页中的记录原创 2022-01-26 17:47:52 · 876 阅读 · 0 评论 -
MySQL随笔——InnoDB的记录结构
引擎什么是引擎?引擎的作用是什么?很多人都知道MySQL是多引擎的数据库服务程序,但是不知道引擎到底干什么。一句话:引擎是用于存储、处理和保护数据的核心服务。数据库在处理请求时分三个步骤:连接管理,解析与优化,存储引擎连接管理主要是对客户端和服务端连接的一些优化管理,比如将断开的连接不立即销毁,而是暂时缓存起来,给后来的客户端连接请求,已达到连接优化的效果。解析与优化主要是对SQL语句的优化。存储引擎则是真正执行SQL语句的部分,除此之外,存储引擎还有管理数据的功能。InnoDB简介MySQL原创 2022-01-17 15:58:48 · 503 阅读 · 0 评论 -
MySQL乱码问题根源解析
MySQL出现乱码问题的原因主要是三个系统变量的不一致导致的,这三个系统变量分别为character_set_client,character_set_connection,character_set_results。mysql> show variables like 'character%';+--------------------------+---------------------------------------------------------+| Variable_name原创 2022-01-14 15:21:07 · 800 阅读 · 0 评论 -
MySQL运行过程及引擎
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档读《MySQL是怎么运行的》随笔(1)前言MySQL存取数据总流程连接管理客户端和服务端的连接连接管理的作用解析和优化查询缓存查询缓存的删除语法解析查询优化存储引擎前言众所周知,数据库是开发不能跳过的门槛,操作数据库和设计数据库的能力高低在一定程度上决定程序员的技术。数据库的学习绝不仅仅是CRUD这么简单,其底层的运行也要有所了解。目前,我也在学习数据库知识中,同时也向大家推荐我所读的书——《MySQL是怎样运行的》MySQL存取数原创 2022-01-13 16:22:09 · 343 阅读 · 0 评论