Mysql学习宝典
文章平均质量分 90
carl的分享笔记
这个作者很懒,什么都没留下…
展开
-
Mysql学习宝典(六) -- 数据库锁表及阻塞的几大常见原因和解决办法
问题说明当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁 相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严重影响应用的正常执行。在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对原创 2021-09-09 13:32:51 · 29304 阅读 · 0 评论 -
Mysql学习宝典(五) -- Mysql性能优化万字长文(慢SQL查询,Explain执行计划,性能调优)
MySQL 性能优化思路和工具一、优化思路 作为架构师或者开发人员,说到数据库性能优化,你的思路是什么样的? 或者具体一点,如果在面试的时候遇到这个问题:你会从哪些维度来优化数据库,你会怎么回答? 我们说到性能调优,大部分时候想要实现的目标是让我们的查询更快。一个查询的动作又是由很多个环节组成的,每个环节都会消耗时间,我们在第一节课讲 SQL 语句的执行流程的时候已经分析过了。 我们要减少查询所消耗的时间,就要从每一个环节入手。二、 连接——配置优化 第一个环节是客户原创 2021-08-20 15:13:29 · 4319 阅读 · 0 评论 -
Mysql学习宝典(四) -- Mysql的事务与锁深入剖析
MySQL 事务与锁详解什么是数据库的事务?什么是事务? 事务是数据库最小的工作单元,也就是说我们刚才提到的这些场景,它们是作为一个逻辑单元执行 的,既然是最小的工作单元,意味着它是不可再分的。这里面可能包含了一个或者一系列的 DML 语句。 单条 DDL(create drop)和 DCL(grant revoke)也会有事务。哪些存储引擎支持事务? InnoDB,NDB事务的四大特性? 原子性,Atomicity,意味着我们对数据库的一系列的操作,要么都是成功,要么都是失败,不原创 2021-08-19 17:43:24 · 124217 阅读 · 2 评论 -
Mysql学习宝典(三) -- Mysql索引原理以及应用解析并对数据结构进行推演
MySQL 索引原理详解一、 索引是什么?1.1. 索引是什么 S 当一张表有 500 万条数据,在没有索引的 name 字段上执行一个查询:select * from user_innodb where name ='jim'; 如果 name 字段上面有索引呢?ALTER TABLE user_innodb DROP INDEX idx_name; ALTER TABLE user_innodb ADD INDEX idx_name (name); 索引的创建是需要消耗时原创 2021-08-18 17:00:51 · 4747 阅读 · 0 评论 -
Mysql学习宝典(二) -- 从更新语句执行流程引出的Mysql各种日志
三、一条更新SQL 是如何执行的? 在数据库里面,我们说的 update 操作其实包括了更新、插入和删除。更新流程和查询流程有什么不同呢? 基本流程也是一致的,也就是说,它也要经过解析器、优化器的处理,最后交给执行器。 区别就在于拿到符合条件的数据之后的操作。 首先,在 InnoDB 里面有个内存的缓冲池(buffer pool)。我们对数据的更新,不会每次都直接写到磁盘上,因为 IO 的代价太大了,所以先写入到 buffer pool 里面。内存的数据页和磁盘数据不一致的时候,我们原创 2021-08-18 16:20:47 · 26269 阅读 · 0 评论 -
Mysql学习宝典(一) --Mysql存储各大存储引擎以及Mysql体系架构
Mysql架构与内部模块 演示环境: MySQL 5.7 存储引擎:InnoDB一、一条查询SQL是如何执行的? 程序或者工具要操作数据库,第一步跟数据库建立连接。1、通信协议 首先,MySQL 必须要运行一个服务,监听默认的端口(3306)。通信协议MySQL 支持多种通信协议。第一个就是 TCP/IP 协议,编程语言的连接模块都是用 TCP 协议连接到 MySQL 服务器的,比如 mysql-connector-java-x.x.xx.jar。第二种是 Un原创 2021-08-17 17:57:39 · 3568 阅读 · 1 评论