![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
文章平均质量分 88
出世&入世
专注于计算机毕设开发、定制、文档编写指导等,对软件开发具有浓厚的兴趣,工作之余喜欢钻研技术,关注IT技术的发展趋势,感谢大家的关注与支持。
展开
-
MySQL:死锁模拟
因为insert values(),(),()....实际上还是每个行数据分别进行唯一性检查,插入操作,但是节省了语法解析和优化的部分。表建立好以后,总共3列,其中id1,id2为主键,a,id1为唯一键,数据处理好以后主键唯一键都是有序的,而线上可能是乱序的。模拟中session3,没有使用insert values(),()的方式,是因为如果这样2行记录都会插入成功,因为线上是并发的,因此即便insert values(),()也可能出现问题这是其一。从死锁模型来看和线上一致。原创 2023-05-22 08:34:55 · 657 阅读 · 0 评论 -
每日一个MySQL问题: MTS 高并发下主从表空间不一致的问题
就是主从一个表,主库大约600M,从库大约900M,当然主从的环境肯定是一致的,但是从库的并发比较高MTS使用了16个 worker线程,从并发来看基本都在使用。我模拟的方法也很简单,无非就是主库开启writeset,将参数binlog_transaction_dependency_history_size调大,这样能够保证last commit尽可能降低,如下:原创 2023-05-20 09:45:24 · 675 阅读 · 0 评论 -
每日一个MySQL知识点:主从表大小相差巨大和一个BUG
我们知道MySQL主从基本上是逻辑的复制,那么有少量的空间差异没有问题,但是本案例主库表只有10G,但是从库表有100G,这么大的差距比较少见,需要分析原因。原创 2023-05-20 09:20:21 · 588 阅读 · 0 评论 -
MySQL:5.6同步到5.7 GTID报错
LOGICAL_TIMESTAMP_LENGTH原创 2023-05-18 09:42:50 · 431 阅读 · 0 评论 -
一文带你了解InnoDB索引底层原理
MySQL 把数据存储和查询操作抽象成了存储引擎,不同的存储引擎,对数据的存储和读取方式各不相同。MySQL 支持多种存储引擎,并且可以以表为粒度设置存储引擎。因为支持事务,我们最常使用的是 InnoDB。原创 2023-03-11 23:09:31 · 542 阅读 · 0 评论 -
一文带你了解MySQL的Explain
1 Extra中的为Using index的情况查询列被索引覆盖&&where筛选条件是一个基于索引前导列的查询,意味着 通过索引查找就能直接找到符合条件的数据,并且无须回表2 Extra中的为空的情况查询列未被索引覆盖&&where筛选列是索引的前导列,意味着通过索引查找并且通过回表来找到未被索引覆盖的字段,3 Extra中的为Using where;使用了索引: 要考虑索引扫描+回表表扫描的代价。4 Extra中的为Using where;原创 2023-03-10 16:41:04 · 450 阅读 · 0 评论 -
多线程update导致的mysql死锁问题处理方法
因为是边扫描边加锁,这里就存在一个顺序问题,假如线程A对a b c d e五条数据边扫描边加X锁,而同时线程B对 e f g h a五条数据也边扫描边加X锁,明显的,这就会存在一个问题,在线程A对e加锁时,线程B已经对e加锁了,所以线程A会等待线程B释放锁,而线程B对a加锁时,线程A也对a加锁了,所以线程B就会等待线程A释放锁,最终结果是,互相循环等待造成死锁。InnoDB行锁是通过给索引上的索引项加锁来实现的,只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁。原创 2023-03-07 11:30:53 · 3378 阅读 · 0 评论 -
慢SQL的优化思路和使用规范
1、索引优化1.1 建表或加索引时,保证表里互相不存在冗余索引。对于MySQL来说,如果表里已经存在key(a,b),则key(a)为冗余索引,需要删除。1.2 复合索引建立索引时,多考虑建立复合索引,并把区分度最高的字段放在最前面。比如 select * from goods where goods_no = 'aaa' and state=1;这种情况我们只需要建了一个复合索引就可以,这就相当于创建了(goods_no ,state)、(goods_no )两个索引,这就是最佳左前缀特性。原创 2023-03-08 08:00:00 · 513 阅读 · 0 评论 -
MySQL:几个奇怪state和主从延迟问题(特例)
一、几个奇怪state这里的state就是我们show processlist出来看到的值,当前来看这个值有点类似Oracle的等待事件,但是实际上它是一个stage,也就是代码跑到某处时会置为一个合适的值,可以作为判定问题的一个初始化方向。1、preparing和statistics状态的特例先来看下面的state的值,我们可以看到:原创 2023-02-28 08:00:00 · 344 阅读 · 0 评论 -
MySQL5.7中delete长期处于preparing状态原因解析
大概就是这样一个语句,处于preparing 状态,问delete为什么会处于这个状态?二、简析对于preparing状态一般归结为优化阶段,并还没有进入实际的语句执行阶段。但是这里有所不同。并且我们知道一般delete执行慢一般状态会处于,updating子查询的sending data中但是这里是preparing状态。那么为什么会处于这种状态呢?简单分析一下。原创 2023-02-27 10:50:04 · 427 阅读 · 0 评论 -
一文带你了解当你CRUD时BufferPool中发生了什么
下面让我们就一起看下,当你执行CURD时,InnoDB的Buffer Pool中都发生了什么!以及Buffer Pool的优化!原创 2023-02-23 08:21:49 · 137 阅读 · 0 评论 -
你知道MySQL中like 关键字也能用索引嘛?
我们常说,MySQL 中的 like 要慎用,因为会全表扫描,这是一件可怕的事!不过呢,也看情况,有的 like 其实也能用索引:有的时候 like 用索引效率很高,有的时候 like 虽然用了索引效率却低的可怕。我们一起来分析下。1. 最左匹配原则我还是举个例子吧,假设我有如下一张表:原创 2023-02-12 19:15:00 · 1387 阅读 · 0 评论 -
来看看你的是否会正确的使用索引
索引,可以有效提高我们的数据库搜索效率,各种数据库优化八股文里都有相关的知识点可背,不过单纯的被条目其实很容易忘记。所以我想和大家聊一聊这个索引的正确使用方法,结合一些具体的例子来帮助大家理解索引优化。1、索引列独立当我们将带有索引的列作为搜索的条件的时候,需要确保索引不在表达式中,索引中也不包含各种运算。我举个简单例子,假设我有如下一张表:原创 2023-02-12 14:57:14 · 375 阅读 · 0 评论 -
每日一个解决问题:事务无法回滚是什么原因?
今天在码代码时发现事务不回滚了,学过MySQL 事务小伙伴们都懂,通过 begin 开启事务,通过 commit 提交事务或者通过 rollback 回滚事务。正常来说,当我们开启一个事务之后,需要 commit 或者 rollback 来结束一个事务的,但是有时候,一些操作会自动帮我们提交事务,如果大家不了解隐式事务的话,那么在具体使用事务的事务可能就会遭遇一些莫名其妙的问题。原创 2023-02-11 08:37:35 · 2288 阅读 · 1 评论 -
零基础学JavaWeb开发(二)之 数据库基本操作和约束
这一章简单介绍一下数据库基本操作和约束 1、DDL数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。1.对数据库创建、删除、修改操作2.对表结构创建、删除、修改操作原创 2023-01-13 22:24:42 · 263 阅读 · 0 评论 -
面试官问:谈一谈你对 MySQL 性能优化的理解
谈一谈你对 MySQL 性能优化的理解 MySQL 的性能优化我认为可以分为 4 大部分1.硬件和操作系统层面的优化2.架构设计层面的优化3.MySQL 程序配置优化4.SQL 优化...........原创 2023-01-11 16:04:27 · 137 阅读 · 0 评论 -
2022最新版MySQL大厂面试题(六)
2022最新版MySQL大厂面试题(六)133、MySQL数据库cpu飙升的话你会如何分析134、有没有进行过分库分表?135、什么是分库分表?136、什么时候进行分库分表?有没有配合es使用经验?137、说一下实现分库分表工具的实现思路........原创 2023-01-05 17:22:13 · 238 阅读 · 0 评论 -
2022最新版MySQL大厂面试题(五)
2022最新版MySQL大厂面试题---Mysql开发篇 102、可以使用MySQL直接存储文件吗?103、什么时候存,什么时候不存?104、存储的时候有遇到过什么问题吗?105、Emoji乱码怎么办?106、如何存储ip地址?原创 2023-01-05 14:28:28 · 342 阅读 · 0 评论 -
2022最新版MySQL大厂面试题(三)
2022最新版MySQL大厂面试题(三)---MySQL 内部技术架构 47、Mysql内部支持缓存查询吗?48、mysql8为何废弃掉查询缓存?49、替代方案是什么?50、Mysql内部有哪些核心模块组成,作用是什么?.....原创 2023-01-04 08:12:46 · 160 阅读 · 0 评论 -
2022最新版MySQL大厂面试题(四)
2022最新版MySQL大厂面试题---事务篇,61、什么是数据库事务?事务的特性是什么?62、什么是ACID?63、并发事务会有哪些问题?64、什么是脏读..........原创 2023-01-04 15:09:08 · 294 阅读 · 0 评论 -
2022最新版MySQL大厂面试题(二)
18、什么是聚簇索引?19、一个表中可以有多个(非)聚簇索引吗?20、聚簇索引与非聚集索引的特点是什么?21、CRUD时聚簇索引与非聚簇索引的区别是什么?22、非聚簇索引为什么不存数据地址值而存储主键?........原创 2023-01-03 17:58:47 · 438 阅读 · 0 评论 -
2022最新版Mysql大厂面试题(一)
1、Mysql如何实现的索引机制?2、InnoDB索引与MyISAM索引实现的区别是什么?3、一个表中如果没有创建索引,那么还会创建B+树吗?........原创 2023-01-03 00:33:20 · 218 阅读 · 0 评论