MySQL
文章平均质量分 89
MySQL学习过程
、楽.
放弃很容易,但坚持一定很酷!
展开
-
深度剖析InnoDB存储结构
大家都知道MySQL的数据都是存储在物理磁盘上的,那具体是保存在哪个文件呢?我们首先要知道MySQL存储的行为是由存储引擎实现的,不同的存储引擎保存的文件自然也不同。由于InnoDB是我们常用的存储引擎,也是MySQL默认的存储引擎,所以本文主要以InnoDB存储引擎展开讨论。原创 2023-06-15 22:40:23 · 1258 阅读 · 0 评论 -
一文刨析 MySQL Buffer Pool
MySQL Buffer Pool (free链表、flush链表、冷热数据分离LRU链表、预读机制、chunk机制等)原创 2023-03-02 11:46:32 · 429 阅读 · 0 评论 -
MySQL中一条SQL是如何加锁的?(Gap Lock、Next-key Lock使用)
MySQL中一条SQL是如何加锁的?(Gap Lock、Next-key Lock使用)原创 2023-02-23 21:57:09 · 1697 阅读 · 0 评论 -
MySQL中MVCC如何解决不可重复读以及幻读?
Mysql中MVCC是如何解决不可重复读以及幻读?RR模式和RC模式的区别?原创 2023-02-22 23:12:40 · 1639 阅读 · 1 评论 -
MySQL快速搭建主从复制架构
1. 主从复制与读写分离1.1 主从复制(数据层面)主从复制是读写分离的前提。MySQL数据库提供的主从复制功能可以方便的实现数据在多台服务器自动备份,实现数据库的拓展,极大的加强了数据的安全性。同时,实现主从复制之后,可以通过实现读写分离进一步加强数据库的负载性能。如图所示便是主从复制的大致实现流程。1.2 读写分离(业务层面)读写分离是建立在主从复制的基础上,只有实现了数据库的主从复制,才能进一步的实现读写分离。读写分离可以理解为所有的查询操作在子数据库进行,所有的写操作在主数据库进行。当数原创 2022-01-06 23:17:49 · 1568 阅读 · 2 评论 -
MySQL性能优化(索引、表结构、参数配置等)
我们说到性能调优,大部分时候想要实现的目标是让我们的査询更快。一个査询的流程又是由很多个环节组成的,每个环节都会消耗时间。我们要减少查询所消耗的时间,就要从每一个环节入手。1. 连接——配置优化第一个环节是客户端连接到服务端,连接这一块有可能会出现什么样的性能问题?有可能是服务端连接数不够导致应用程序获取不到连接。比如我们遇到过的 Mysql:error 1040: Too many connections的错误。这个是超过了服务端设置的最大并发连接数。我们可以从两个方面来解决连接数不够的问题:原创 2021-12-25 15:58:20 · 643 阅读 · 0 评论 -
MySQL事务详解
1. 什么是事务?我使用的版本是(5.7),存储引擎(InnnoDB),事务隔离级别(RR)。select version();show variables like '%engine%';show global variables like 'tx_isolation';1.1 事务的典型场景在项目里面,什么地方会使用事务?是根据业务类型来使用的还是根据数据操作类型来使用的?很多时候我们需要事务是因为我们希望涉及数据库的多个操作都成功,比如客户下单,这个过程会操作订单表,账户 表,物流表等原创 2021-12-24 20:52:51 · 1304 阅读 · 0 评论 -
MySQL索引深度刨析
1. 索引是什么?我们首先创建一张user_innodb表;这张表里面有4个字段,id, name, gender, phone。当这张表有100万条数据,在没有索引的name字段上执行一条where查询:可以看之前这篇文章,批量插入数据:MYSQL批量插入数据select * from user_innodb where name ='jack';如果name字段上面有索引呢?我们在name字段上面创建一个索弓|,再来执行一 下查询。ALTER TABLE user_innodb A原创 2021-12-22 23:31:46 · 1024 阅读 · 1 评论 -
详解MySQL架构设计及SQL执行流程
MySQL的发展历史和版本分支:时间里程碑1996 年MySQL 1.0发布。它的历史可以追溯到1979年,作者Monty用BASIC设计 的一个报表工具。1996 年10月3.11.1发布:MySQL没有2.x版本:2000 年ISAM升级成MylSAM引擎。MySQL开源。2003 年MySQL 4.0发布,集成InnoDB存储引擎。2005 年MySQL 5.。版本发布,提供了视图、存储过程等功能。2008 年MySQL AB公司被Sun原创 2021-12-21 17:41:16 · 1179 阅读 · 0 评论 -
MySQL + JDBC 实现批量插入(千万数据)
1. 配置my.ini文件bulk_insert_buffer_size=120M 或者更大将insert语句的长度设为最大。Max_allowed_packet=1MNet_buffer_length=8k可以通过navicat直接查询修改: SHOW VARIABLES where Variable_name = 'bulk_insert_buffer_size' set bulk_insert_buffer_size = 1048576002. 查看设置的参选有没有生效原创 2021-12-08 13:09:50 · 5965 阅读 · 0 评论