mysql
文章平均质量分 82
一户董
专注后端技术分享!!!
展开
-
MySQL之系列
MySQL系列原创 2023-02-05 12:52:04 · 494 阅读 · 0 评论 -
MySQL误删数据除了跑路还能怎么办?
1:误删除行数据2:误删除表数据3:误删除库数据4:误删除MySQL实例下面我们就按照这个顺序来一起看下。原创 2022-10-31 15:31:11 · 110 阅读 · 0 评论 -
MySQL之分区表分析
在一些公司的规范中,就明确规定,不允许使用分区表,那么到底该不该使用分区表呢,本文就一起来看下。原创 2022-09-27 11:04:24 · 535 阅读 · 0 评论 -
MySQL命令行具有特殊功能操作
本文一起看下MySQL客户端命令行具有特殊功能的操作,比如换行,执行操作系统命令等。原创 2022-09-13 18:21:22 · 347 阅读 · 0 评论 -
MySQL之如何复制一张表的数据
use db1;delimiter;;set i=i+1;end while;end;;delimiter;原创 2022-09-13 16:42:21 · 2944 阅读 · 0 评论 -
MySQL之内存表
什么是内存表呢?存储引擎为memory的表就是内存表,所以他也是MySQL普通表的一种只不过数据是在内存中的,所以我们将其称之为内存表。本文我们就一起来看一下吧!原创 2022-09-08 17:35:08 · 3674 阅读 · 3 评论 -
MySQL之临时表
本文一起看下MySQL的临时表。通过create temporary table t语句创建的表,就是临时表,临时表的临时虽然临时表的生命周期是会话级别的,但是在程序中显式的删除临时表永远是一个我们必须要做的动作,因为你不能保证任何场景下你所创建的临时表都会被合理的删除,比如使用线程池时,此时就不仅仅是临时表没有被删除而占用资源的问题了,还会因为后续的程序读取到前面程序在临时表中的数据,而造成bug,而且这种bug是很难发现的。所以,养成好习惯是很重要的。原创 2022-09-02 17:33:18 · 18912 阅读 · 0 评论 -
MySQL之误删数据如何处理
1:误删除行数据2:误删除表数据3:误删除库数据4:误删除MySQL实例下面我们就按照这个顺序来一起看下。原创 2022-08-25 18:53:53 · 12525 阅读 · 2 评论 -
MySQL之如何在Linux环境安装配置
本文一起看下如何在Linux环境中安装和配置MySQL服务器。原创 2022-08-23 13:44:59 · 660 阅读 · 0 评论 -
MySQL之如何排查死锁
死锁的条件就是形成了循环等待,即你等我,我等你,如下图:在MySQL也是如此,接下来我们就一起看下,针对MySQL的死锁如何排查。原创 2022-08-19 13:34:45 · 3350 阅读 · 0 评论 -
MySQL binlog的3种格式对比(statement,row,mixed)
binlog主要用于主从复制和数据恢复,本文就一起来看下其内容都有哪些模式,以及这些模式都有哪些有点和缺点。原创 2022-08-02 13:43:48 · 3493 阅读 · 0 评论 -
MySQL你到底都加了什么锁?
本文一起看下sql语句在不同的场景下都会加哪些锁,但是在此之前必须先来明确几个概念,下面先来一起看下。原创 2022-07-29 15:35:52 · 177 阅读 · 0 评论 -
05mysql的锁分析
本文如无特殊说明,使用的存储引擎都是InnoDB.只要是共享的资源就会存在并发访问数据的一致性的问题,数据库也是如此,数据库需要合理的设置数据的访问规则,而,这种用来设置数据访问规则的数据结构我们就叫做是锁。本文就一起来看下MySQL都提供了哪些锁机制。............原创 2022-07-18 11:20:41 · 820 阅读 · 0 评论 -
MySQL之常见面试题分析
这个问题考察的其实就是应该将小表作为驱动表,还是将大表作为驱动表,可以从数据查找的时间复杂度来进行分析,如果是将小表作为驱动表,则查找的时间复杂度就是,如果是将大表作为驱动表则查找的时间复杂度就是,比较这两个时间复杂度,就可以很容易的知道,将小表作为驱动表是更优的选择。..................原创 2022-07-14 13:10:22 · 842 阅读 · 0 评论 -
MySQL之零碎知识点
本部分用来记录MySQL学习过程中比较小的零碎知识点,分享出去的同时也方便自己后续查看。慢日志主要参数如下:如下设置:为了测试效果将long_query_time设置为0,这样所有执行的sql语句都会记录到慢日志中,比如执行如下的sql语句:就可以查看生成的慢日志了:参考文章列表:MySQL慢查询日志(Slow Query Log) 。...............................................................原创 2022-06-28 18:21:44 · 930 阅读 · 0 评论 -
04MySQL索引原理分析-1
索引作为提高数据查询效率的一把瑞士军刀不得不详细介绍,本文我们主要基于InnoDB存储引擎来看下MySQL的索引机制。在开始之前需要对如下的概念有基础的了解:当我们讨论什么是索引的时候,总会说,,那么数据库中的都可以采用哪些数据结构呢,下面我们一起来看下。如果考虑简单的KV查询,时间复杂度最低的数据结构肯定就是哈希表 了,采用了哈希表KV查询的时间时间复杂度是O(1),但是当执行如的范围查询时,因为哈希表本身经过哈希运算之后是无序的,所以就必须顺序扫描,此时时间复杂度就变为O(n)了,哈希表对于KV查询有原创 2022-06-08 17:28:42 · 147 阅读 · 0 评论 -
03事务隔离:为什么你改了我还看不见?
写在前面因为MySQL中只有InnoDB支持事务,所以本文如无特别说明,表存储引擎都是InnoDB。在02日志系统一条SQL更新语句是如何执行的? 一文中分析了update语句执行的过程,以及该过程中使用到的binlog和redo log,而update作为可以引起数据库状态发生变化的一种场景,其中事务的概念绝对是不可不谈的,那么什么是事务呢?概念上讲就是,保证一组数据库操作,要么全部成功,要么全部不成功,绝对不可以出现部分成功部分不成功的情况。要保证一组数据库操作,要么全部成功,要么全部不成功就不原创 2022-06-01 11:28:14 · 217 阅读 · 0 评论 -
02日志系统一条SQL更新语句是如何执行的?
## 写在前面以下内容基于InnoDB存储引擎分析。在01基础架构:一条SQL查询语句是如何执行的 一文中我们分析了mysql的基础架构,了解了一个sql语句执行的简单流程,为了方便回忆,再来贴下架构图:如果是我们执行了如下的更新语句mysql> update T set c=c+1 where ID=2;,也是经过上述的各种组件处理吗?答案是肯定的,但是因为是更新数据,肯定涉及到新数据的写入,所以具体的流程细节上又会有所不同,主要的不同之处就在于执行器这里,接下来我们就一起来看下,具体原创 2022-05-20 15:56:32 · 320 阅读 · 0 评论 -
01基础架构:一条SQL查询语句是如何执行的
写在前面不管是生活中做什么事情,还是学习一种新的技术,绝对不能管中窥豹 ,而是要纵观全局,因为只有对全局有了把控,当出现问题时,才能清晰的知道到底是哪个步骤出现了问题,应该往哪个方向去查找为,学习MySQL也同样是这个道理,因此,本文我们就一起来看下,一个sql语句从执行到返回结果都经过了哪些过程,我们先来通过如下的思维导图看下MySQL的主要结构:那么当我们执行了一个最简单的sql语句select * from t where t.id=1时,具体的执行过程是什么,执行过程如下图:接下来我们就按原创 2022-05-17 15:35:54 · 228 阅读 · 0 评论