Mysql的undo log、redo log、binlog和MVCC本文试图解释undo log,redo log,bin log的作用,以及Innodb的MVCC机制undo logundo log 记录的是sql语句执行更新前的数据,这里的更新是泛指,除了select其它都算更新。在读已提交和可重复读的隔离级别下,会记录事务中某条数据的修改版本链,用来支持MVCC,详细参考MVCC章节。re            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-14 11:08:31
                            
                                113阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            [TOC]我们都知道事务有4种特性:原子性、一致性、隔离性和持久性,在事务中的操作,要么全部执行,要么全部不做,这就是事务的目的。事务的隔离性由锁机制实现,原子性、一致性和持久性由事务的redo 日志和undo 日志来保证。所以本篇文章将讨论关于事务中的redo和undo的几个问题:redo 日志与undo日志分别是什么?redo 如何保证事务的持久性?undo log 是否是redo log的逆            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-04 01:32:02
                            
                                38阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQL服务器的体系结构一条更新语句执行的顺序update T set c=c+1 where ID=2;a. 执行器先找引擎取 ID=2 这一行。ID 是主键,引擎直接用树搜索找到这一行。如果 ID=2 这一行所在的数据页本来就在内存中,就直接返回给执行器;否则,需要先从磁盘读入内存,然后再返回。b. 执行器拿到引擎给的行数据,把这个值加上 1,比如原来是 N,现在就是 N+1,得到新的一行数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-19 10:28:21
                            
                                318阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # MySQL 删除的数据什么时候清理
在MySQL数据库中,当我们执行删除操作时,实际上并不是立即将数据从磁盘上删除,而是将数据标记为已删除状态,等待后续进行清理。那么MySQL删除的数据什么时候会被清理呢?这篇文章将带你深入了解MySQL删除数据的清理机制。
## MySQL 删除数据的清理机制
当我们执行DELETE语句删除数据时,并不会立即释放磁盘空间,而是将数据标记为已删除状态。M            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-11 05:27:03
                            
                                220阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # mysql TEMPORARY 表什么时候删除
引用形式的描述信息:MySQL的TEMPORARY表是临时表,它在会话结束时或用户主动删除时会自动删除。本文将介绍MySQL TEMPORARY表的特点以及何时会被删除。
## MySQL TEMPORARY 表的特点
在MySQL中,TEMPORARY表是一种特殊类型的表,它只在当前会话中存在,当会话结束或用户主动删除时会自动删除。TEM            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-08 03:52:37
                            
                                131阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 了解MyBatis中MySQL的TEMPORARY表的删除时机
在使用MyBatis进行数据库操作时,有时会涉及到Temporary表,那么Temporary表在MySQL中是什么时候会被删除的呢?本文将对这个问题进行科普解析,并通过代码示例来说明。
## 什么是Temporary表
Temporary表是在MySQL数据库中定义的一种特殊的表,它的生命周期只在当前会话中有效,一旦会话结            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-18 03:29:48
                            
                                87阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言大数据时代,人类的衣食住行等相关的活动,都已经被各大公司抽象成一条条数据存放到了分布在世界各地大大小小的数据中心当中,hadoop、hive、sqoop、spark、hbase、kafka、flume、zookeeper……大数据生态圈越来越大,各种组件层出不穷。围绕着数据相关的工作岗位也雨后春笋般的冒了出来,不胜枚举。技术更新迭代日新月异,吾等平庸之辈只能跪地而泣,曰之:“求别出,学不动!”            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-09 07:22:49
                            
                                21阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                  MySQL的历史最早可以追溯到1979年,那时Oracle也才小打小闹,微软的SQL Server影子都没有。Monty Widenius在其合伙的TcX小公司工作时,用BASIC设计了一个报表工具,可以在4M主频和16KB内在的计算机上运行。随着时间的推移,这个小工具被用C重写并迁移到Unix上运行。当时,它只是一个很底层的面向报表的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-25 23:47:59
                            
                                99阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # MySQL查询:什么时候到什么时候
在进行数据库查询时,经常会遇到需要查询某一时间段内的数据的情况。MySQL提供了多种方式来实现这一操作,包括使用`BETWEEN`、`>=`和`=和=`和`= '2022-01-01' AND date_column = '2022-01-01' AND  B[选择查询方式]
    B --> C[BETWEEN操作符]
    B --> D[>=和            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-19 06:21:31
                            
                                85阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            索引为什么能提高数据访问性能?  很多人只知道索引能够提高数据库的性能,但并不是特别了解其原理,其实我们可以用一个生活中的示例来理解。  我们让一位不太懂计算机的朋友去图书馆确认一本叫做《MySQL性能调优与架构设计》的书是否在藏,这样对他说:“请帮我借一本计算机类的数据库书籍,是属于 MySQL 数据库范畴的,叫做《MySQL性能调优与架构设计》”。朋友会根据所属类别,前往存放“计算机”书籍区域            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-28 18:41:07
                            
                                78阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQL中binlog备份脚本分享 原文 –  关于MySQL的二进制日志(binlog),我们都知道二进制日志(binlog)非常重要,尤其当你需要point to point灾难恢复的时侯,所以我们要对其进行备份。关于二进制日志(binlog)的备份,可以基于flush logs方式先切换binlog,然后拷贝&压缩到到远程服务器或本地服务器的其他存储上,例如挂载的NAS存储,也可以            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-31 21:38:57
                            
                                69阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            CreateFile() 函数用以打开和创建文件,函数原型声明如下: HANDLE WINAPI CreateFile(       
   __in      LPCTSTR lpFileName,       
   __in      DWORD dwDesiredAccess,       
   __in      DWORD dwShareMode,       
   __            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-05 08:23:40
                            
                                35阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            子查询一般用于跨表查询,习惯上,外层的查询称为父查询,圆括号中嵌入的查询称为子查询。SQL语句执行时先执行子查询部分,求出子查询部分的值,再执行整个父查询,返回最后的结果。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-19 15:26:55
                            
                                324阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一,什么情况下使用索引1. 表的主关键字自动建立唯一索引2. 表的字段唯一约束ORACLE利用索引来保证数据的完整性3. 直接条件查询的字段在SQL中用于条件约束的字段如zl_yhjbqk(用户基本情况)中的qc_bh(区册编号)select * from zl_yhjbqk where qc_bh=’7001’;4. 查询中与其它表关联的字段字段常常建立了外键关系如zl_ydcf(用电成份)中的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 15:08:25
                            
                                81阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言  最近遇到一次MySQL死锁的问题,也算是少见的一件事情。公司的MySQL隔离级别是Read Commited,已经没有了gap lock,而且代码里的sql都再简单不过,没有显式加锁的sql语句。因此抽出时间看了一下原因。   分析具体问题之前,先整体的了解一下MySQL的加锁逻辑,之后再分析起来就游刃有余了:MySQL的锁  为什么MySQL要加锁呢?OLTP数据库离不开事务,事务也离不            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-18 23:35:36
                            
                                156阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!\u0026#xD;\n 
 \u0026#xD;\n\u0026#xD;\n  MySQL的第八个版本蓄势待发,并有望于2018年发布。在MySQL 5.7.9的首个通用版本推出后的28个月内,MySQL 8发布了从8.0.0到8.0.4这五个候选版本。这些发布候选仅针对开发使用,而不应该生产系统中使用。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-06 11:51:23
                            
                                32阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            按照五点把书中的内容进行一下整理:1、为什么要选择Redis:介绍Redis的使用场景与使用Redis的原因;2、Redis常用命令总结:包括时间复杂度总结与具体数据类型在Redis内部使用的数据结构;3、Redis的高级功能:包括持久化、复制、哨兵、集群介绍;4、理解Redis:理解内存、阻塞,这部分是非常重要的,前面介绍的都可以成为术,这里应该属于道的部分;5、开发技巧:主要是一些开发实战的总            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-08 21:24:01
                            
                                312阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、较频繁地作为查询条件的字段这个都知道。什么是教频繁呢?分析你执行的所有SQL语句。最好将他们一个个都列出来。然后分析,发现其中有些字段在大部分的SQL语句查询时候都会用到,那么就果断为他建立索引。2、唯一性太差的字段不适合建立索引什么是唯一性太差的字段。如状态字段、类型字段。那些只存储固定几个值的字段,例如用户登录状态、消息的status等。这个涉及到了索引扫描的特性。例如:通过索引查找键值为            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-09 20:41:26
                            
                                115阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            写在前面网上看帖子的时候,经常会看到说尽量用exists,少用in。那么问题来了,是所有场景下都尽量用exists吗,还是具体场景具体分析。给你答案mysql做子查询的时候,永远记得要小表驱动大表。inselect * from A where id in (select id from B);相当于先循环B,再循环A。B表驱动A表。也就是当B表数据少于A表时,用in最佳。existsselect * from A whereexists(select 1 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-12-29 16:09:09
                            
                                324阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Python类什么时候删除的实现方法
## 1. 流程图
```mermaid
stateDiagram
    [*] --> 创建对象
    创建对象 --> 对象使用结束: 使用结束
    对象使用结束 --> 删除对象: 删除对象
    删除对象 --> [*]
```
## 2. 步骤及代码
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 创建一个P            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-22 04:05:35
                            
                                17阅读