![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
文章平均质量分 80
程序员老任
Coding my passion!
展开
-
MySQL8中文手册-事务隔离级别
15.7.2.1 事务隔离级别事务隔离是数据处理工作的基础之一。隔离性表示的是ACID中的I,事务隔离级别主要用来平衡在多个事务同时进行查询和变更时结果的性能、可靠性、一致性和可重复性之间的关系。InnoDB提供了在SQL:1992标准中定义的四种隔离级别,未提交可读(READ_UNCOMMITED)、提交可读(READ_COMMITTED)、可重复读(REPEATABLE_READ)和串行访问(SERIALIZABLE)。InnoDB的默认隔离级别是可重复读。用户可以使用SET TRANSACTIO原创 2021-04-12 17:12:13 · 244 阅读 · 0 评论 -
如何为生产MySQL配置全新的备库
MySQL版本8.0.12前言:备库常见的使用场景不同角色使用不同数据库。备库当作备用的主库,必要时进行主备切换。备库放到远程数据中心,用作灾备。延迟备库,用于数据误删恢复。备库作为备份、培训、开发或测试用服务器。1、备机上安装MySQL服务版本必须等于或高于主库版本,因为MySQL是向前兼容的,高版本的MySQL可以解析低版本的binlog,反之则不一定。2、进行配置修改/etc/my.cnf配置文件配置server_id,主库和备库必须不同配置bin_log=binlo.原创 2021-04-01 16:16:03 · 567 阅读 · 1 评论 -
MySQL8中文手册-GROUP BY优化
8.2.1.17 GROUP BY 优化通常用来满足GROUP BY分组的方式是扫描全表数据,创建临时表,将行数据按照分组字段连续存储在临时表中,然后使用这个临时表对同一分组的数据进行累加。在一些条件下,MySQL可以在这种方式上进行优化,使用索引进行分组,避免使用临时表。要使用索引满足GROUP BY分组的重要的前提条件是所有GROUP BY的列都在同一个索引上,而且这个索引必须是有序的(比如BTREE索引,HASH索引则不行)。是否能用上索引进行分组,而不使用临时表,也取决于查询使用的哪部分索引,以原创 2021-03-31 17:33:29 · 1034 阅读 · 0 评论 -
MySQL8中文手册【持续更新】
前言网上充斥着各种MySQL的学习资料,有所谓的小白学习笔记也有大牛的分享文章,有免费的也有收费的,文章的质量也是鱼龙混杂,经常看到文章与文章之间相互矛盾,甚至文章前后矛盾。至于为什么要翻译官方文档,还要源于上次学习极客时间的付费文章,其中一篇对change buffer的说明,文章中描述change buffer是用于更新数据缓存,后面又对change buffer和redo log的关系进行了说明,然而评论中有各种观点,有些说change buffer只针对索引数据进行缓存,文章前后翻了好几遍,始终原创 2021-03-26 16:26:43 · 1921 阅读 · 1 评论 -
MySQL8中文手册-MRR优化
网上充斥着各种MySQL的学习资料,有所谓的小白学习笔记也有大牛的分享文章,有免费的也有收费的,文章的质量也是鱼龙混杂,经常看到文章与文章之间相互矛盾,甚至文章前后矛盾。至于为什么要翻译官方文档,还要源于上次学习极客时间的付费文章,其中一篇对change buffer的说明,文章中描述change buffer是用于更新数据缓存,后面又对change buffer和redo log的关系进行了说明,然而评论中有各种观点,有些说change buffer只针对索引数据进行缓存,文章前后翻了好几遍,始终有个.原创 2021-03-26 16:14:29 · 420 阅读 · 1 评论 -
MySQL8中文手册-二进制日志(binlog)
网上充斥着各种MySQL的学习资料,有所谓的小白学习笔记也有大牛的分享文章,有免费的也有收费的,文章的质量也是鱼龙混杂,经常看到文章与文章之间相互矛盾,甚至文章前后矛盾。至于为什么要翻译官方文档,还要源于上次学习极客时间的付费文章,其中一篇对change buffer的说明,文章中描述change buffer是用于更新数据缓存,后面又对change buffer和redo log的关系进行了说明,然而评论中有各种观点,有些说change buffer只针对索引数据进行缓存,文章前后翻了好几遍,始终有个.原创 2021-03-24 15:14:29 · 1048 阅读 · 2 评论 -
MySQL8中文手册-InnoDB的锁
15.7.1 InnoDB LockingThis section describes lock types used by InnoDB.本节主要说明InnoDB使用的各种类型的锁。Shared and Exclusive LocksIntention LocksRecord LocksGap LocksNext-Key LocksInsert Intention LocksAUTO-INC LocksPredicate Locks for Spatial IndexesShared原创 2021-03-12 06:39:27 · 554 阅读 · 0 评论 -
MySQL8中文手册-Order by的优化
8.2.1.16 ORDER BY的优化本节内容说明MySQL查询语句需要ORDER BY排序时,在什么情况下会使用索引进行排序,以及在不能使用索引的情况下如何使用filesort排序,以及由优化器提供的执行计划中有关ORDER BY的信息。需要ORDER BY排序的查询中,使用和不使用LIMIT返回的数据顺序可能会不同,在Section 8.2.1.19, “LIMIT Query Optimization”.已经讨论过。使用索引满足ORDER BY排序使用filesort文件排序ORDER B原创 2021-03-09 17:42:18 · 847 阅读 · 2 评论 -
MySQL8中文手册-调优InnoDB的I/O能力
15.8.7 配置InnoDB的I/O能力参数InnoDB的主线程和其他线程运行了多种后台任务,其中大多数任务都是I/O操作相关的,比如从buffer pool中刷脏数据页,把change buffer中的变更内容保存到对应的二级索引。InnoDB引擎在运行这些后台任务的时候,尽量不影响其他任务的正常运行。引擎会预估操作系统可用的I/O操作能力,并根据能力对后台任务的执行频率进行调整,以发挥引擎的最大的性能。innodb_io_capacity参数定义了InnoDB的总体I/O操作能力,这个参数一般设置原创 2021-03-02 11:12:09 · 1190 阅读 · 0 评论 -
MySQL8中文手册-buffer pool使用说明
15.5.1 Buffer Poolbuffer pool是一块用于InnoDB引擎在请求数据时缓存表和索引数据的内存区域。buffer pool中允许直接从内存中读取经常使用的数据,这样可以提升数据访问速度。在专用的数据库服务器上,buffer pool经常可以使用多达80%的物理内存。为了提升大数据量读取操作的效率,buffer pool缓存的单位是数据页,一个数据页可以保存多行数据。为了提升缓存管理效率,buffer pool用链表来实现,最少被使用数据页会通过LRU算法被换出缓存。理解并最大限原创 2021-02-27 01:47:25 · 710 阅读 · 0 评论 -
MySQL8查看存储过程
使用如下命令可以查看数据表的存储过程mysql>SELECT ROUTINE_TYPE, ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='dbname'; +--------------+----------------+| ROUTINE_TYPE | ROUTINE_NAME |+--------------+----------------+| PROCEDURE | c原创 2021-02-25 17:06:39 · 2062 阅读 · 0 评论 -
MySQL8中文手册-change buffer
最近在重新学习丁奇的《MySQL实战45讲》时,读到了第9讲关于change buffer的部分,对change buffer的缓存内容及机制比较疑惑,在百度上搜索了一些文章,表述也比较模糊,因此找到了mysql官方参考手册,并对change buffer章节进行了翻译,还是要相信权威的说明。原创 2021-02-25 14:41:21 · 994 阅读 · 2 评论 -
学习MySQL原理,这张脑图就够了
学习MySQL原理,这张脑图就够了原创 2020-12-10 11:05:43 · 588 阅读 · 4 评论 -
Spring+MyBatis组合的几种实现方式(三)使用MyBatis-Spring-Boot-Starter
1、什么是MyBatis-Spring-Boot-Starter前面我们学习了原生MyBatis、MyBatis-Spring两种方式在你的项目中使用MyBatis的方式,可以发现原生MyBatis使用起来还是比较麻烦的,需要在代码中通过操作SqlSession、SqlSessionFactory两个类才能完成sql操作,在MyBatis-Spring中把SqlSession和SqlSessio...原创 2020-03-26 11:11:35 · 334 阅读 · 0 评论 -
Spring+MyBatis组合的几种实现方式(二)使用MyBatis-Spring
1、什么是MyBatis-Spring?MyBatis-Spring 可以帮助你将 MyBatis 无缝地整合到 Spring 中。允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的 DataAccessException。2、为什么会有MyBatis-S...原创 2020-03-25 19:26:59 · 243 阅读 · 0 评论 -
Spring+MyBatis组合的几种实现方式(一)使用原生Mybatis
Mybatis是一款优秀的ORM框架,但使用起来相对比较麻烦,不像Spring JPA(Hibernate),需要手动创建表、手动编写sql语句,这也正是Mybatis的优势之一,下面我们就以持久化一张用户表为例,介绍使用Mybatis的几种方式。一、原生Mybatis方式点击下载git源代码1、原理介绍所有Mybatis使用都依赖SqlSessionFactory实例,SqlSessio...原创 2020-03-24 19:16:15 · 416 阅读 · 0 评论 -
Java操作Mysql数据库的几种方式(二)-Spring框架JDBC包
使用Spring框架JDBC包操作mysqlSpring框架提供了JDBC核心包,支持基础的JDBC操作和错误处理,主要通过以下三个类:JdbcTemplateNamedParameterTemplateSQLExceptionTranslator首先Pom中添加依赖mysql jdbc驱动依赖和Spring框架依赖<dependency> <groupId&g...原创 2020-03-05 14:07:54 · 311 阅读 · 0 评论 -
Java操作Mysql数据库的几种方式(一)-Mysql Connector/J组件
环境准备安装Mysql5.7建议使用Docker方式安装和启动Mysql安装Docker,如果已安装请忽略,这里是在Mac环境下安装的,其他环境类似#brew cash install docker下载Mysql镜像,这里下载的是5.7版本#docker pull mysql:5.7如果不加:5.7的参数,默认会下载最新的8.0版本下载完成后,可以使用以下命令查看是否下载成...原创 2020-03-03 16:35:10 · 1108 阅读 · 0 评论