mysql数据库
学习Java的小姐姐
一线互联网高级软件开发工程师,同时也是一个萌妹子,哈哈哈,必须得萌。擅长Java,Redis,MySQL,ES,RabbitMQ等技术。| 公众号:学习Java的小姐姐,回复有惊喜哦。
展开
-
MySQL的万字总结(缓存,索引,Explain,事务,redo日志等)
目录开局一张图查询缓存概念原理生产如何设置MySQL Query Cache索引例子聚簇索引(主键索引)非聚簇索引(二级索引)联合索引一些原则万年面试题(为什么索引用B+树)优化器什么是成本?单表查询的成本多表查询的成本index diveExplain产品来索命idselect_typetabletype...原创 2020-01-07 15:08:26 · 1589 阅读 · 0 评论 -
详解B+树及其正确打开方式
前言hello,小可爱们,继上篇长文的更新,我又又又来了。前面我们长大了InnoDB数据页的7个组成部分,各个数据页组成了一个双向链表,而每个数据页中的记录按照主键从小到大的顺序组成一个单链表,每个数据页中为这些记录生成了一个目录,可以采用二分法查找,提升查询速度。那么问题来就来了,如果表中的记录涉及多个数据页,那又该如何查找呢?没有索引的查找为了方便理解,咱先说一个SQL语句...原创 2019-09-02 16:26:26 · 2345 阅读 · 1 评论 -
扒一扒InnoDB数据在硬盘上是如何存放的
目录前言索引组织表1.选择第一个定义的非空索引2.自动创建6个字节大小的指针InnoDB的逻辑存储结构(整体)表空间段区页行InnoDB行记录格式(重点)变长字段长度NULL值列表记录头信息真实数据InnoDB数据页结构(重点)文件头(File Header)页头(Page Header)最小记录+最大记录(Infimum...原创 2019-08-18 17:27:49 · 1911 阅读 · 1 评论 -
浅谈MySQL的整体架构
前言又是新的一周,各位周一好。由于换工作,找房子这一系列事情都推在了一起,所以最近停更了一个多月。现在所有的事情都已尘埃落定,我也可以安安静静的码字啦。好了,也不多说,开始新的征程啦。最近一直在看《MySQL技术内幕——InnoDB存储引擎》这本书,也正好记录下吧。整体架构图我们先看一下MySQL的架构图,对其先有一个整体的了解。MySQL主要分为四层架构,分别是网络连接层,服...原创 2019-06-27 16:08:52 · 946 阅读 · 1 评论 -
探究MySQL各类文件
目录前言参数文件日志文件错误日志二进制日志InnoDB的存储引擎文件表空间重做日志文件结束前言前两篇我们了解到MySQL的整体架构,其分为了四层,包括网络连接层,核心层,存储引擎层,物理层,以及各层的作用。另外还知道了InnoDB存储引擎层的架构,包括缓存池和线程。不明白的,请移步上两篇哦。今天我们来看构成MySQL数据库和InnoDB存储引擎...原创 2019-06-27 16:07:18 · 373 阅读 · 0 评论 -
MySQL面试题 (事务+索引)
代写。原创 2019-03-26 11:28:42 · 2011 阅读 · 2 评论 -
分库分表要解决的问题之事务控制
代写原创 2018-10-30 11:47:43 · 682 阅读 · 0 评论 -
分库分表要解决的问题之UUID生成策略
目录背景UUID的几个生成策略使用全局表:每次新增的时候从全局表中取使用Redis:将UUID信息存放在Redis中,每次从Redis中取Twitter的snowflake:纯Java代码,ID生成器背景要实现分库分表,要解决的一个问题就是uuid的唯一性。比如我现在讲用户表分成了三个库来存放,每个库里面都有一个用户表。如果在没有分库之前,uuid可以通过mysql...原创 2018-10-30 11:45:19 · 1976 阅读 · 1 评论 -
科普分库分表
目录背景介绍分库分表主要有几种类型垂直分库:按照业务功能来划分出不同的数据库垂直分表:大表拆小表水平分表:数据表中不同行分布在不同的数据表中水平分库分表:终极boss,大佬来了背景介绍刚进入项目组的时候,就听老大说我们系统用了分库分表,主要为了解决不同租户的数据都存放在一起,数据量太大的问题。但之前一直没注意,正好这段时间好好看看,也了解一下分库分表的功能是...原创 2018-10-30 11:22:30 · 412 阅读 · 1 评论 -
mysql索引总结----mysql 索引类型以及创建
文章归属:http://feiyan.info/16.html,我想自己去写了,但是发现此君总结的非常详细。直接搬过来了关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓转载 2016-11-23 13:45:31 · 331 阅读 · 0 评论