可能会执行非常慢,线上生产环境千万别写出这种SQL ...背景交代用 tpcc-mysql 工具生成 50个仓库 的测试数据,表 order_line 共有 37970973 条记录。某工具在运行过程中,会产生下面的SQL进行查询,WHERE后跟了N多个条件:mysql> select * from order_line where (ol_ ......
352
0
0
2022-12-28
现象描述客户在夜间批量执行数据处理时发生了死锁现象,是由不同的会话并发删除数据引起的,这个问题原因是比较简单,但想通过这个案例让大家熟悉如何去排查死锁问题,如何去阅读死锁日志这才是目的。通过模拟用户死锁现象后,死锁日志如下:*** (1) TRANSACTION: TRANSACTION 39474, ACTIVE 58 sec starting inde ......
504
0
0
2022-12-28
前言如何控制并发是数据库领域中非常重要的问题之一,MySQL为了解决并发带来的问题,设计了事务隔离机制、锁机制、MVCC机制,用一整套机制来解决并发问题,本文主要介绍事务隔离机制。一、什么是数据库事务事务transaction(简写tx),在数据库中,事务是指一组逻辑操作,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与结束之 ......
386
0
0
2022-12-26
MySQL专题面试题MySQL中有哪些存储引擎?InnoDB存储引擎InnoDB是MySQL的默认事务型引擎,也是最重要、使用最广泛的存储引擎。它被设计用来处理大量的短期(short-lived)事务,应该优先考虑InnoDB引擎。MylSAM存储引擎在MySQL 5.1及之前的版本,MyISAM是默认的存储引擎。MyISAM提供了大量的特性,包括全文索引、 ......
405
0
0
2022-12-25
一、数据库备份mysqldump -u root 数据库名>备份文件名;#备份整个数据库mysqldump -u root 数据库名 表名字>备份文件名;#备份整个表压缩备份  mysqldump -uroot -p'pwd' -B db1db2 | gzip&nbs ......
383
0
0
2022-12-24
概述从InnoDB存储引擎的存储结构看,所有数据都被逻辑地放在一个空间中,称之为表空间(tablespace)、区(extent)、页(page)组成,页在一些文档中也被称之为块(block)。InnoDB逻辑存储结构1.1、表空间(Tablespace)表空间可以看做InnoDB逻辑结构的最高层,所有的数据都放在表空间中。在默认情况下,InnoDB存储引擎 ......
334
0
0
2022-12-24
建立联合索引a,b,可以看到a的值是有序的,b是无序由于a的值是有序的,可以能通过二分查找去查询数据#用到索引 EXPLAIN SELECT * where a=1 and b=1 from test 由于b的值是无序的,可以不能通过二分查找去查询数据#用不到索引 EXPLAIN SELECT * where b=1 from test 所以为什么 ......
376
0
0
2022-12-23
文章内容引用自 咕泡科技目录标题1索引的概念1.1定义1.2类型1.3作用2索引的数据结构B+树的演进过程2.1问题:假如我们要查一条数据要怎么查?怎么才能快速查到数据?2.2问题:当Page页越来越多,查询会出现什么问题、怎么解决怎么优化?2.3问题:怎么建目录呢?给每一个页都建一个目录吗?2.4索引树、页的分裂与合并2.5根据我们刚才推演的,延申出几个面 ......
370
0
0
2022-12-22
回表在研究mysql二级索引的时候,发现Mysql回表这个操作,往下研究了一下字面意思,找到索引,回到表中找数据 解释一下就是:先通过索引扫描出数据所在的行,再通过行主键ID 取出数据。举个例子说明:SELECT * FROM INNODB_USER WHERE AGE = 18 AND USER_NAME LIKE '模糊查%'; 假如age和user ......
369
0
0
2022-12-22
wait_timeout:客户端连接自动断开连接时间(默认值是28800s,8个小时),自动断开的操作是“Server层的连接器做的”,断开后需要重新连接;mysql_reset_connection:初始化连接资源(MySQL 5.7及之后)innodb_flush_log_at_trx_commit:控制redo log刷盘时机,建议设置为1,每次提交事 ......
379
0
0
2022-12-22
文章目录内存结构Buffer PoolLRUChange Buffer写缓冲Adaptive Hash lndexRedo Log Buffer磁盘结构系统表空间system tablespace独占表空间file-per-table tablespaces通用表空间general tablespaces临时表空间temporary tablespacesu ......
316
0
0
2022-12-22
査询优化、索引优化、库表结构优化需要齐头并进,一个不落。一、为什么查询速度为变慢在尝试编写快速的查询之前,需要清楚一点,真正重要是响应时间。如果把查询看作是一个任务,那么他由一系列子任务组成,每个子任务都会消耗一定的时间。如果要优化查询,实际上要优化其子任务,要么消除其中一些子任务,要么减少子任务的执行的次数,要么让子任务运行得更快。MySQL在执行查询的时 ......
300
0
0
2022-12-20
索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。一、索引的类型在MySQL中,索引是在存储引擎层而不是服务器层实现的。所以没用统一的索引标准,不同存储引擎的索引工作方式并不相同。1.1、B-TreeB-Tree索引即使用B-Tree数据结构来存储数据。B-Tree通常意味着所有值都是按顺序存储的,并且每个叶子页到根的距离 ......
320
0
0
2022-12-20
良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计 schema,这往往需要权衡各种因素。一、选择优化的数据类型MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管 存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择。更小的通常更好 更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存 ......
305
0
0
2022-12-20
本篇内容包括:数据库瓶颈、分库分表以及分库分表相关问题一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每 ......
330
0
0
2022-12-19