![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 91
王老狮
现500强企业担任核心技术骨干,有多年的技术开发和管理经验。曾在公司主导过开放平台系统架构的设计,大数据平台架构设计。现主要负责公司数据中台体系的从0到1的建设,擅长分布式,高并发,大数据等技术领域。在系统安全、微服务、技术架构等领域输出多篇技术专利。对新技术有着极高的热情,喜欢钻研和研究未知的领域,善于分享,输出技术文章全网阅读200W左右。善于目标驱动,抛弃过往的经验,回到问题的本质。
展开
-
漫谈MySQL十二-高性能的索引的优化之道
正确地创建和使用索引是实现高性能查询的基础。前面我们已经了解了索引 相关的数据结构,各种类型的索引及其对应的优缺点。现在我们一起来看看如何 真正地发挥这些索引的优势。3.3.1. 索引列的类型尽量小我们在定义表结构的时候要显式的指定列的类型,以整数类型为例,有 TTNYINT 、NEDUMNT 、INT 、BIGTNT 这么几种,它们占用的存储空间依次递增, 我们这里所说的类型大小指的就是该类型表示的数据范围的大小。能表示的整数 范围当然也是依次递增,如果我们想要对某个整数列建立索引的话,在表...原创 2022-03-10 17:04:26 · 1227 阅读 · 7 评论 -
漫谈MySQL十一-InnoDB中的索引的类型
大家好,我是王老狮,上篇索引的数据结构中我们了解到索引的主要存储结构还是B——数,InnoDB 中的索引自然也是按照 B+树来组织的,前面我们说过 B+树的叶子节 点用来放数据的,但是放什么数据呢?索引自然是要放的,因为 B+树的作用本 来就是就是为了快速检索数据而提出的一种数据结构,不放索引放什么呢?但是 数据库中的表,数据才是我们真正需要的数据,索引只是辅助数据,甚至于一个 表可以没有自定义索引。InnoDB 中的数据到底是如何组织的?我们今天来看下InnoDB中索引的类型。一.聚集索引/聚簇索引原创 2022-03-06 12:32:30 · 1591 阅读 · 6 评论 -
深入解读索引在查询中的使用
索引在查询中的作用到底是什么?在我们的查询中发挥着什么样的作用 呢?请记住:1 、一个索引就是一个 B+树,索引让我们的查询可以快速定位和扫描到我们 需要的数据记录上,加快查询的速度。2 、一个 select 查询语句在执行过程中一般最多能使用一个二级索引,即 使在 where 条件中用了多个二级索引。3.2.3.1. 扫描区间对于某个查询来说,最简单粗暴的执行方案就是扫描表中的所有记录,判断 每一条记录是否符合搜索条件。如果符合,就将其发送到客户端,否则就跳过该 记录。这就是全表扫描。原创 2022-03-08 08:45:00 · 3249 阅读 · 6 评论 -
漫谈MySQL十-索引的数据结构,从二叉树到B+树
大家好,我是王老狮,上一节我们了解了索引相关的一些知识。那么索引是怎么实现的呢?他的数据结构是什么样的呢?为什么要用这样的数据结构呢?我们带着疑问来学习下索引数据结构相关的知识,希望大家有所收获。一.MySQL索引的数据结构和书的目录一样,下图就是MySQL中的一种B+树索引,每一 个节点都是主键的 ID当我们通过 ID 来查询内容的时候,首先去查索引库,查到索引后能快速的 根据索引定位数据的具体位置。InnoDB存储引擎支持以下几种常见的索引:B+树索引、全文索引、哈希索引,其中比较关键.原创 2022-02-26 18:48:23 · 787 阅读 · 0 评论 -
漫谈MySQL九-MySQL中事务的使用
目录一、SQL 标准中的四种隔离级别二、MySQL 中的隔离级别2.1.如何设置事务的隔离级别2.1.1.使用GLOBAL 关键字(在全局范围影响):2.1.2.使用 SESSION 关键字(在会话范围影响):2.1.3.上述两个关键字都不用(只对执行语句后的下一个事务产生影响):2.1.4.启动参数修改三、MySQL事务的使用3.1.事务基本语法3.1.1.事务提交3.1.2.事务回滚3.1.3.事务提交3.2.保存点3.3.隐式提交3.3...原创 2022-02-19 16:19:49 · 734 阅读 · 0 评论 -
漫谈MySQL八-什么是事务
1.事务的基础概念1.1.什么是事务?事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(多个 DML 语句,select 语句不包含事务),要不全部成功,要不全部不成功。例如:A 给 B 要划钱,A 的账户-1000 元, B 的账户就要+1000 元,这两个 update 语句必须作为一个整体来执行,不然 A 扣钱了,B 没有加钱这种情况就是错误的。那么事务就可以保证 A 、B 账户的变动要么全部一起发生,要么全部一起不发生。事务特原创 2022-02-19 10:04:52 · 814 阅读 · 7 评论 -
漫谈MySQL七-系统数据库mysql库详解
大家好,我是王老狮,Mysql库是数据库的核心,它存储了 MySQL 的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等。今天我们就来聊聊mysql库中的一些重要的表。1.权限系统表因为权限管理是 DBA 的职责,所以对于这个部分的表,我们大概了解下即可。在 mysql 系统库中,MySQL 访问权限系统表,放在 mysql 库中,主要包含如下几个表。user:包含用户账户、全局权限和其他非权限列表(安全配置字段和资源控制字段)。 db原创 2022-02-12 11:08:49 · 1428 阅读 · 6 评论 -
漫谈MySQL六-系统数据库sys库详解
目录1.sys介绍2.sys 系统库使用2.1.查看慢 SQL 语句慢在哪里2.2.查询表的增、删、改、查数据量和 I/O 耗时统计3.sys小结大家好,我是王老狮,平时我们在使用mysql中经常遇到慢sql以及想要了解sql执行的性能如何。那我们应该从哪里获取这些信息呢?今天我们就来聊一聊SYS库,来找一找答案。1.sys介绍sys 系统库通常都是提供给专业的 DBA 人员排查一些特定问题使用的,其下所涉及的各项查询或多或少都会对性能有一定的影响。所以这个库的配...原创 2022-02-11 11:54:30 · 4967 阅读 · 11 评论 -
漫谈MySQL五-系统数据库information_schema详解
目录1.什么是information_schema?2.information_schema 表分类Server 层的统计信息字典表Server 层的表级别对象字典表Server 层的混杂信息字典表InnoDB 层的系统字典表InnoDB 层的锁、事务、统计信息字典表InnoDB 层的全文索引字典表InnoDB 层的压缩相关字典表3.information_schema 应用查看索引列的信息大家好,我是王老狮,上篇我们讲了mysql自带的系统库perform.原创 2022-02-09 21:32:41 · 5505 阅读 · 2 评论 -
漫谈MySQL四-系统数据库performance_schema详解
目录1.系统数据库的简介2.performance_schema详解2.1. 什么是performance_schema?2.2 performance_schema 使用2.2.1 检查当前数据库版本是否支持2.2.2.performance_schema 表的分类2.2.3.performance_schema 简单配置与使用2.2.4.查看最近执行失败的 SQL 语句2.2.5.查看最近的事务执行信息3.总结1.系统数据库的简介 以下系统库...原创 2022-02-08 19:01:33 · 6409 阅读 · 7 评论 -
MySQL入门基础三-存储引擎详解
一、存储引擎从体系结构图中可以发现,MySQL 数据库区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎。MySQL 插件式的存储引擎架构提供了一系列标准的管理和服务支持,这些标准与存储引擎本身无关,可能是每个数据库系统本身都必需的,如SQL 分析器和优化器等,而存储引擎是底层物理结构和实际文件读写的实现,每个存储引擎开发者可以按照自己的意愿来进行开发。需要特别注意的是,存储引擎是基于表的,而不是数据库。插件式存储引擎的好处是,每个存储引擎都有各自的特点,能够根据具体的...原创 2022-01-09 20:50:51 · 664 阅读 · 5 评论 -
MySQL入门基础二-基础架构组件详解
大家好,我是DarkKing,从上篇我们了解到mysql的基础架构。那么他们每个组件都是什么作用以及如何协作的呢?每个组件都具备什么样的能力?我们从一条SQL语句执行来说起。一、Mysql架构分层从下图可以看出来,mysql的基础架构主要分为三层,连接层,server层以及存储引擎层。连接层:连接器server层:缓存,分析器,优化器,执行器存储引擎:常用的择优innoDB和MyISAM引擎。那么当我们要执行如下的一条SQL语句时,他是经过一个什么样的流程得到我们需要的...原创 2022-01-09 20:34:17 · 1473 阅读 · 5 评论 -
MySQL入门基础一-Mysql的基础体系架构
MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是Mysql诞生出了很多分支和相关替代产品原创 2021-12-19 16:11:14 · 5681 阅读 · 16 评论 -
阿里内部资料,10W字总结JAVA面试题-Mysql篇
1、数据库的三范式是什么第一范式:列不可再分第二范式:行可以唯一区分,主键约束第三范式:表的非主属性不能依赖与其他表的非主属性 外键约束且三大范式是一级一级依赖的,第二范式建立在第一范式上,第三范式建立第一第二范式上。2、MySQL数据库引擎有哪些如何查看mysql提供的所有存储引擎mysql> show engines;mysql常用引擎包括:MYISAM、Innodb、Memory、MERGEMYISAM:全表锁,拥有较高的执行速度,不支持事务..原创 2021-11-17 21:21:45 · 268 阅读 · 6 评论