![](https://img-blog.csdnimg.cn/20200123180309843.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySql数据库
文章平均质量分 95
mysql数据库学习!
木子雷
正在努力进阶中的渣渣!
展开
-
必须知道的SQL语句不走索引时的排查利器
前言:在索引优化时,经常会看到的一句话:如果索引字段出现隐式字符集转换的话,那么索引将失效,进而转为全表扫描,查询效率将大大降低,要避免出现隐式字符集转换;在此我想问问同学们:大家知道为什么隐式字符集转换会导致索引失效吗?实际场景中有没有遇到过隐式字符集转换导致索引失效的场景,具体排查的过程;本文主线:由上面的两个问题牵引出了本文的主线;简单描述下隐式字符集转换导致索引失效的原因然后模拟实际场景排查隐式字符集转换导致索引失效的过程隐式字符集转换导致索引失效的原.原创 2021-07-06 21:29:43 · 691 阅读 · 1 评论 -
两个程序员为 insert into select 着迷一晚,它到底有什么魔力?
一、前言:今天遇到一个事情,两个程序员对 insert into select 着迷一晚,这究竟是为神魔呢? 下面就简单说说原由;当天,在 MySql数据库 中,程序员A使用 insert into select 对某张表中的一部分数据做备份,然后同时程序员B使用程序对这张表做数据插入操作,最后出现了程序员B的插入操作失败的情况,然后他们就研究了这个问题一晚上,最终找到了导致问题出现的原因。下面就通过简单的模拟场景复现问题,然后并研究出现问题的原因,最后再找到避免问题出现的方法;本文主线:①、场.原创 2021-05-15 20:25:49 · 350 阅读 · 1 评论 -
MySql中必须知道的至关重要的三种日志
前言:MySql 中有三种 log 是十分中要的,因为MySql之所以能支持 事务(实现持久化、回滚等)、数据库崩溃恢复、主从复制等,都是基于这三种日志的。至关重要的三种log:binlog 二进制日志redo log 重做日志undo log 回滚日志本文主线:简要介绍三种日志MySql事务处理中三种日志承担的角色简要介绍三种日志:1、binlog 二进制日志:binlog 二进制日志(归档日志),这个日志是由MySql的 server层 进行维护的;不管当前MySq.原创 2021-03-25 22:13:28 · 215 阅读 · 1 评论 -
一文带你了解MySql并发事务中的数据库锁、隔离级别、MVCC
前言:最近同事开发时遇到了一个事务阻塞的问题,通过网上查询发现关于MySQL事务、锁这一块的资料都比较絮乱,让人看的云里雾里,所以借着这个机会,刚好也对这一块内容做一个总结梳理,希望能比较全面去写一下MySQL的并发事务处理。本文主线:简述事务的特性与隔离级别聊聊MySql中各种类型的锁然后再聊聊MVCC是个什么东东接着再聊聊数据库锁的触发及升级,以及死锁最后说下出现锁问题时的常见排查命令简述事务的特性与隔离级别:在讲锁之前,必须要先聊聊 事务的特性与隔离级.转载 2021-03-05 20:22:42 · 340 阅读 · 0 评论 -
一文带你了解数据库隔离级别和锁之间的关系
前言:很多人在学习数据库知识时,往往在学习到隔离级别和数据库锁这里有一些疑问:隔离级别和数据库锁之间有什么关联呢?本文就和大家聊聊这两者之间的联系,希望对大家有帮助!聊聊两者之间的联系:在具体聊之前,咱先记住一句话: 数据库事务有不同的隔离级别,不同的隔离级别对锁的使用是不同的,锁的应用最终导致不同事务的隔离级别。首先来了解下有哪四种隔离级别:读未提交:(Read Uncommitted)读已提交(Read Committed) 大多数数据库默认的隔离级别重复读(Repeata.转载 2021-01-12 09:47:14 · 4380 阅读 · 3 评论 -
一次对group by时间导致的慢查询的优化
前言:最近在测试环境中点击一个图表展示页面时,半天才得到后台响应的数据进行页面渲染展示,后台的响应很慢,这样极大的降低了用户的体验;发现这个问题后马上进行了排查 ,通过排查发现是由一个查询很慢的 group by 语句导致的;本文主线:①、简单描述下排查步骤;②、对 group by 查询慢进行优化;简单描述下排查步骤:排查主要分为了两个步骤:后台接口的监控,看看哪个方法调用时耗时多数据库开启慢查询日志,记录执行很慢的SQL推荐使用阿里开源的Java线上诊断工具 Artha.原创 2021-01-04 09:51:55 · 5007 阅读 · 0 评论 -
面试官说道,小伙子耗子尾汁,查询SQL的执行流程难道都不知道吗?
前言最近朋友小王正在找工作,然后有一个面试官问他知不知道 “查询SQL具体的执行流程” 。小王说不知道呀,然后面试官直接对小王说:小伙子 耗子尾汁(好自为之) ,怎么连这么简单的都不知道呢?小王听后脱口而出:哼!面试官你 不讲武德 ,不按套路出牌呀,你应该问问索引相关的知识呀,这个我倍清楚。在听完小王描述后,自己也在脑海中搜了搜这个知识点,可怜的是我的知识库里也没找到相关内容,然后就去面壁思过了,随后本文就诞生了。注意 :本文主要以 MySql 为例;说到了MySql了,然后再唠原创 2020-11-21 09:58:43 · 294 阅读 · 0 评论 -
系统优化 - 索引该怎么创建?
最困难的事情就是认识自己!个人网站 ,欢迎访问!前言:想要彻底明白索引该怎么创建,以及怎样创建出最合理的索引,首先需要对一些知识要有所了解;本文将从以下几方面来进行阐述:索引的相关知识(包括索引数据结构等);索引创建的准则/依据;学会查看sql执行计划,以及哪些sql执行时会导致索引失效;索引基本知识:1、索引的数据结构:索引的数据机构是 B+Tree,B+Tree 是一个多路平衡查找树。1.1、至于为什么索引使用此数据机构呢?最主要一个原因就是:使用B+Tree这种.原创 2020-08-29 18:29:30 · 1079 阅读 · 0 评论 -
联合索引在B+Tree上的存储结构及数据查找方式
最困难的事情就是认识自己!个人网站,欢迎访问!前言:本篇文章主要是阐述下 联合索引 在 B+Tree 上的实际存储结构。本文主要讲解的内容有:联合索引在B+树上的存储结构联合索引的查找方式为什么会有最左前缀匹配原则在分享这篇文章之前,我在网上查了关于MySQL联合索引在B+树上的存储结构这个问题,翻阅了很多博客和技术文章,其中有几篇讲述的与事实相悖。具体如下:很多博客中都是说:联合索引在B+树上的 非叶子节点 中只会存储 联合索引 中的第一个索引字段 的.转载 2020-08-14 09:49:45 · 7354 阅读 · 38 评论 -
惊!史上最全的select加锁分析(Mysql),拿它去怒怼面试官,走起!
注:本文为转载文章,原文作者:孤独烟 ,原味地址:https://www.cnblogs.com/rjzheng/p/9950951.html引言:大家在面试中有没遇到面试官问你下面六句Sql的区别呢?select * from table where id = ?select * from table where id < ?select * from table wh...转载 2020-04-06 15:15:01 · 1099 阅读 · 2 评论 -
Linux下MySql配置主从同步
前言:本文章是进行MySql数据库主从配置(一主一从),前提是你已经在两台Linux服务器中搭建好了mysql数据库服务,我们直接进行主从的配置即可;如果你没有搭建好,也别担心,请参考此文章 “linux系统安装mysql数据库” 进行mysql数据库的搭建;建议搭建的两个mysql数据库的版本最好一样;建议在进行主从配置前,先将两台服务器的防火墙关闭,命令:"service iptable...原创 2020-01-23 17:54:38 · 393 阅读 · 0 评论