1. 存储引擎1.1 MySQL体系结构1). 连接层最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户 ......
294
0
0
2022-11-23
来给大家区分下mysql复制表的两种方式。第一、只复制表结构到新表create table 新表 select * from 旧表 where 1=2或者create table 新表 like 旧表第二、复制表结构及数据到新表create table 新表 select * from 旧表另一种完整复制表的方法:CREATE TABLE targetTab ......
281
0
0
2022-11-20
一条慢查询会造成什么后果?年轻时,我一直觉得不就是返回数据会慢一些么,用户体验变差?其实远远不止,我经历过几次线上事故,有一次就是由一条SQL慢查询导致的。记得那是一条查询SQL,数据量万级时还保持在0.2秒内,随着某一段时间数据猛增,耗时一度达到了2-3秒!没有命中索引,导致全表扫描。explain 中extra显示:Using where; Using ......
295
0
0
2022-11-18
MyISAM是MySQL5.5版之前默认数据库引擎,也算是老一辈存储引擎代表,由早期的ISAM所改良。虽然性能极佳,但“锁”事过多,导致并发事务处理能力很差。没办法,我天生的结巴,还让我去辩论会??你不要强人“锁”男! 这也是后来InnoDB成功取代MyISAM的重要原因之一。被取代后的MyISAM也迅速淡出开发者视野。 唉,毕竟,第二永远也不会被记住,除非 ......
325
0
0
2022-11-18
今天的主人公是我们公司同事侨总,传说中手上有10个比特币的男人。自从比特币大涨以来,养成了几个小爱好:周末听戏坐包厢,骑马酒吧滑雪场。  这不,前两天侨总又双叒叕出来体验面试了,晚上请我烧烤时跟我聊了聊这次有趣的面试经历,真是意犹未尽,趁他回味之余我又吃了十几串儿腰子和羊肉~ 嗯,真香!  对不住,跑题了。。人到中年嘛,保温杯里泡枸杞之余总会。。。  来不及 ......
318
0
0
2022-11-18
运算符:!= 和 <>在MySQL中!= 和 <> 的功能一致,在sql92规范中建议是:!=,新的规范中建议为: <>下面查询username为"陈哈哈"以外的用户,以下两条语句的作用一样。SELECT * FROM t_user WHERE username != "陈哈哈"; SELECT * FROM t_use ......
426
0
0
2022-11-18
国庆过后我们客户领导换了,这哥们儿好像特别喜欢看各类统计、报告(过眼瘾?),加了二十多个统计数据报告的需求,就好像报告多就会显得很牛逼一样🙃🙃~ (上线后据我观察操作日志,发现上线后再也没人看报告。。西内!!🔨🔨) 搞得我最近一直在写定时任务,之前我一直是用SpringTask做定时任务的,还得来回调数据库浪费资源效率。机缘巧合让我发现了MySQL的EVEN ......
337
0
0
2022-11-17
CHAR和VARCHAR是MySQL中两种最重要的字符串类型,两者的原理和区别也是面试中高频问题,如果是你,会从哪几个角度去回答这个问题呢?今天,我给大家总结了一下相关知识点,让我们一起回顾一下吧。 ----- 本文描述和假设使用的存储引擎以Innodb和MyISAM为准目录一、CHAR和VARCHAR有哪些区别1、固定长度 & 可变长度2、存储方式 ......
346
0
0
2022-11-17
提到MySQL的Insert语句,你肯定不陌生,或许已经张口就来:不就是insert into table values(xxx,xxx,xxx)嘛!没错,但在实战中,根据不同的需求场景,插入操作在语法、执行方式上的用法多种多样。 今天,我来给小伙伴们从这两方面分享一下搬砖心得,如果你有疑问或好的想法,记得在评论区给我留言,我会在搬砖之余和大家一起吃瓜喔~目 ......
330
0
0
2022-11-17
自MySQL5.5版本起,主流的索引结构转为B+树。B+树的节点存储索引顺序是从左向右存储,在检索匹配的时候也要满足自左向右匹配。目录一、最左匹配原则的原理二、违背最左原则导致索引失效的情况三、查询优化器偷偷干了哪些事儿四、需要你mark的知识点1、如何通过有序索引排序,避免冗余执行order by2、like 语句的索引问题3、不要在列上进行运算4、索引不 ......
360
0
0
2022-11-17
事务回滚机制其实,讨论MySQL的事务回滚机制,也就是在说MySQL的事务原子性是如何实现的(关于事务之前文章中有过简单介绍)。所谓原子性,就是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中的一个sql语句执行失败,则已执行的语句必须回滚,数据库会退回到事务前的状态。我们可以这么理解,就是说如果事务失败了,那么它对我们的数据库 ......
330
0
0
2022-11-16
MySQL8.0允许外部访问一、前置条件:按照https://blog.csdn.net/h996666/article/details/80917268安装完MySQL之后。二、开始修改配置:1,登进MySQL之后,2,输入以下语句,进入mysql库:use mysql 3,更新域属性,’%’表示允许外部访问:update user set host=' ......
394
0
0
2022-11-15
基于mysql分布式悲观锁原理悲观锁在库存服务中的应用:在这个过程中我们是使用gorm来完成mysql的分布式悲观锁的核心的代码在这里,该方法就能完成悲观锁了更多关于gorm的学习DB.Clauses(clause.Locking{Strength: "UPDATE"}) 完整代码://Sell 扣减库存,涉及事务逻辑,执行的逻辑必须全部成功或者全部失败并 ......
591
0
0
2022-11-14
MySQL分布式悲观锁原理:条件FOR UPDATE 仅适用于InnoDB存储引擎,且必须在事务区块(BEGIN/COMMIT)中才能生效。mysql默认情况下每个sql都是单独的一个事务,并且是自动提交事务。测试之前需要设置成非自动提交事务,不然无法模拟并发访问:mysql> select @@autocommit; +-------------- ......
361
0
0
2022-11-14
1.主从复制原理(1)master服务器将数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中;(2)slave服务器会在一定时间间隔内对master二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/OThread请求master二进制事件(3)同时主节点为每个I/O线程启动一个dump线程,用于向其 ......
444
0
0
2022-11-14