MySQL日志专项之redo log和undo log介绍
Redo Log REDO LOG称为重做日志 ,当MySQL服务器意外崩溃或者宕机后,保证已经提交的事务持久化到磁盘中(持久性)。 InnoDB是以页为单位去操作记录的,增删改查都会加...
Redo Log REDO LOG称为重做日志 ,当MySQL服务器意外崩溃或者宕机后,保证已经提交的事务持久化到磁盘中(持久性)。 InnoDB是以页为单位去操作记录的,增删改查都会加...
一、概述 MVCC(Multiversion Concurrency Control),多版本并发控制。它和undo log中的版本链息息相关,MVVC通过数据行的多个版本来实现数据库的并发...
设置某个字段的值自增 由于某个业务需要手动操作数据库,并设置主键ID不重复。做个记录 ? 1 2 set @rownum=0;...
mysql设置某字段不能重复 ? 1 alter table novel.novelsort add unique ( name )...
基础介绍 今天我跟大家把我理解的这一块全面的介绍下,配有sql语句送给大家。首先来给大家做个这一块的介绍: 1,自连接 说到底就是多张表都是同一张表添加一定条件的限制出来的数据...
使用命令行登录MySQL报错1045 Access denied for user ‘root’@‘localhost’ (using password:YES),折腾半天才解决问题。 &n...
存储函数也是过程式对象之一,与存储过程相似。他们都是由SQL和过程式语句组成的代码片段,并且可以从应用程序和SQL中调用。然而,他们也有一些区别: 1、存储函数没有输出参数,因为存储函数本身...
1.SHOW ENGINES 查看执行引擎以及默认引擎。 2.SHOW PROCESSLIST SHOW PROCESSLIST查看当前数据库连接的使用情况,以及各种状态...
概述 虽然现在关系型数据库越来越相似,但其背后的实现机制可能大相径庭。实际使用方面,因为SQL语法规范的存在使得我们熟悉多种关系型数据库并非难事,但是有多少种数据库可能就有多少种锁的实现方法...
1、B+树索引 顾名思义,结构是B+树的索引就是B+树索引,一般情况下,InnoDb引擎中创建的常规索引都是B+的结构。 B+树索引就是以下这几种。 1.1、聚集索...
引言 在开发过程中,遇到过json数据组的字符串,需要解析json组,得到组内所有的信息。如下格式: [{"itemId":3101,"itemName":"空滤器及进气管道"},{...
1 关联查询的执行 关联查询的执行过程是:先遍历关联表t1(驱动表,全表扫描),然后根据从表t1中取出的每行数据中的a值,去表t2(被关联表,被驱动表)中查找满足条件的记录,可以走t2的索引...
1 临时表 sort buffer、内存临时表和join buffer,这三个数据结构都是用来存放语句执行过程中的中间数据,以辅助SQL语句的执行的。其中,在排序的时候用到了sort buf...
前言 调用EXPLAIN可以获取关于查询执行计划的信息,以及如何解释输出。EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法,但该动能也有局限性,它的选择并不总是最优的,展示的也并...
1 索引的概念 索引(在MySQL中也叫做“键(key)”)是存储引擎用于快速找到记录的一种数据结构,这也是索引最基本的功能。 索引对于良好的性能非常关键。数据量越大时,索引对性能的影响...
一、产生的背景 二叉查找树的查找时间复杂度是O(logN),整体的查询效率已经足够高了,那么为什么还会有B树和B+树的进化演进呢? 主要的原因是:二叉树可能会退化成一个线性树,造成磁盘...
本篇为抛砖引玉篇,之前没关注过replace into 与replace 的区别。经过多个场景测试,居然没找到在插入数据的时候两者有什么本质的区别?如果了解详情的伙伴们,请告知留言告知一二,不胜...
前言 在 ToplingDB 的 CO-Index(Compressed Ordered Index) 家族中,Nest Succinct Trie 是最通用的。但是,伴随通用的,往往是低效...
数据准备 CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24)...
索引是什么 索引是帮助MySQL高效获取数据的排好序的数据结构 最重要的点是有序的,我们用索引就是为了快速的查找数据,如果一堆数据是无序的,程序只能挨个遍历每个元素,对比值,才能找到某个...
SQL Update常见写法 Oralce和DB2都支持的语法: ? 1 2 3 4 update test1&nbs...
一、创建数据表 数据表:一个二维的表格,一个表格是由多列组成,表格中的每一类称之为表格的字段 以上述学生信息表格为例在MySQL数据库中创建一张表格,语句如下(注:创建前应选择相应...
关于分区以及为什么要分区 我们首先找到mysql的数据存储目录,可以通过语句show variables like '%datadir%';查看,我本机的是"C:ProgramDataMyS...
平时经常管理数据库的时候 发现身边小伙伴儿 都是使用各种图形化工具对MySQL数据 进行数据的备份和还原操作 离开了工具就束手无策了 美其名曰 巧妇难为无米之炊 今天就和大家分享一下命令...
1.Mysql中的数据类型 varchar 动态字符串类型(最长255位),可以根据实际长度来动态分配空间,例如:varchar(100) char 定长字符串(最长255位),存储空间...
一、业务场景 现在业务系统需要从 MySQL 数据库里读取 500w 数据行进行处理 迁移数据 导出数据 批量处理数据 二、罗列一下三种处理方...
备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊MySQL的启动和关闭命令 一、Windws系统 -- 启动MySQL net s...
一、MySQL游标简介 MySQL在服务器端提供只读的、单向的游标,而且只能在存储过程或者更底层的客户端API中使用。 因为MySQL游标中指向的对象都是存储在临时表中而不是实际查询到的...
MySQL存储过程的参数 MySQL存储过程的参数共有三种: IN OUT INOUT 输入参数 输入参数(IN):在调用存储过程中...
Mysql 循环插入数据 说明:首先需要设置delimiter。 delimiter的作用:告诉解释器,这段命令是否已经结束了,mysql是否可以执行了 默认情况下,delimite...
批量提交 while 语句写法: ? 1 2 3 while '条件' do...
1、MySQL出现lock wait timeout exceeded; try restarting transaction 我们可以通过到information_schema 中来进行查...
一、MySQL连接层 连接层为每个连接维护一个线程。该线程处理查询执行。 在连接可以开始发送 SQL 查询之前,连接由验证用户名、密码和客户端主机。 连接层通过多种连接协议接受来自应用程...
MySQL隔离级别RC与RR的区别 RR 支持 gap lock(next-key lock),而RC则没有gap lock。因为MySQL的RR需要gap lock来解决幻读问题。而RC隔...
一、MySQL清空表数据命令:truncate SQL语法: truncate table 表名 注意: 不能与where一起使用。 truncate删除数...
前言 时间在数据库中经常作为时间索引,在数据入库和出库以及更新的时候都需要变化。在一些指标计算或者是提取某段时间的数据时,都会根据数据库中的时间索引数据进行操作。因此很大一部分我们操作数据都...
1.开启与关闭Strict Mode方法 找到mysql安装目录下的my.cnf(windows系统则是my.ini)文件 在sql_mode中加入STRICT_TRANS_TABLES...
AS 用法: AS在mysql用来给列/表起别名. 有时,列的名称是一些表达式,使查询的输出很难理解。要给列一个描述性名称,可以使用列别名。 要给列添加别名,可以使用AS关键词后跟别...
一、什么是视图 小学的时候,每年都会举办一次抽考活动,意思是从每一个班级里面筛选出几个优秀的同学去参加考试。这时候很多班级筛选出来的这些同学就可以临时组成一个班级,如果我们把每一个班级都当做...
MySQL窗口函数OVER() 下面的讲解将基于这个employee2表 ? 1 2 3 4 5 6 7 8...
1、使用cast() 和 convert() 函数实现日期格式的转换 语法格式: convert( 表达式,数据类型 )  ...
1. MySQL主从同步实现方式 MySQL主从同步是基于Bin Log实现的,而Bin Log记录的是原始SQL语句。 Bin Log共有三种日志格式,可以binlog_format配...
前言: 昨晚我正在床上睡得着着的,突然来了一条短信。 什么?线上的订单无法取消! 我赶紧登录线上系统,查看业务日志。 发现有MySQL锁超时的错误日志。 不用想,...
一.问题描述 redis、mysql双写缓存不一致: 在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。于是博...
前言: 众所周知MySQL联合索引遵循最左前缀匹配原则,在少数情况下也会不遵循(有兴趣,可以翻一下上篇文章) 创建联合索引的时候,建议优先把区分度高的字段放在第一列。 至于怎么统计区...
MySQL基本查询 查询概念: 查询是数据库管理系统中一个重要功能,数据查询不应只是简单返回数据库中存储的信息 还应该根据需要对数据进行筛选以及确定数据以什么形式显示...
进行测试之前首先保证你已经可以对数据库进行读写:参见 要求:对MYSQL数据库的读写读写性能进行测试。支持多并发、支持调整事物提交记录数。 注意事项: 要运行测试需要 1. 需要...
面试官: 我看你的简历上写着精通MySQL,问你个简单的问题,MySQL联合索引有什么特性? 心想,这还不简单,这不是问到我手心里了吗? 听我给你背一遍八股文!...
前言 前面已经讲了MySQL的其他查询性能优化方式,没看过可以去了解一下: MySQL查询性能优化七种方式索引潜水 MySQL查询性能优化武器之链路追踪 今天要讲的是MySQL的...
1. 什么是MVCC MVCC全称是Multi-Version Concurrency Control(多版本并发控制),是一种并发控制的方法,通过维护一个数据的多个版本,减少读写操作的冲突...