MySQL
文章平均质量分 80
Mysql
雪*夹雨夹*雪
这个作者很懒,什么都没留下…
展开
-
MySql 多本版并发控制(MVCC)
什么是多版本并发控制多版本并发控制技术的英文全称是Multiversion Concurrency Control,缩写为MVCC。多版本并发控制(mvcc)是通过在特定时间点保存数据快照来实现的。 也就是说,无论事务执行多长时间,事务内部看到的数据都不会受到其他事务的影响(理论上,具体要看实现)。 根据事务的开始时间,每个事务可能同时看到同一表的不同数据。简而言之,多版本并发控制的思想是保存数据的历史版本,并通过管理数据行的多个版本来实现数据库的并发控制。 通过这种方式,我们可以通过比较版本号原创 2021-02-19 01:42:15 · 122 阅读 · 0 评论 -
MySQL主键顺序插入和随机插入对性能的影响
本文是针对聚簇索引首先来看顺序插入的情况。如果主键是顺序的,所以InnoDB会把每插入的记录存储在上一条记录的后面。当达到页的最大填充因子时(InnoDB默认的最大填充因子是15/16,流出不封空间用于以后可能产生的修改),下一条记录就会写入新的页中。一旦数据按照这种顺序的的方式插入,主键就会近似于被顺序的记录填满。再来看随机插入的情况,比如使用了uuid聚簇索引的表插入数据。因为新插入的值是随机,可能表上一个插入的主键值大,也可能小,所以InnoDB无法简单的总是把新的记录插入到索引的最后,也就是原创 2021-02-04 00:46:52 · 2900 阅读 · 0 评论 -
MySQL数据类型优化
选择优化的数据类型1、更小的通常更好一般情况下,应该尽量使用可以正确存储数据的最小数据类型。够用就行,比如说只需要保存1-200的话,tinyint unsigned更好。只需要更小的数据类型,更快速,因为占用更小的磁盘,内存,CPU缓存,并且处理时需要的CPU周期也更少;只要保证你的数据最大值不超过你的数据类型范围即可2、简单就好简单的数据类型操作需要更少的CPU周期,整型比字符操作代价更低;例如整形比字符集操作代价更低,因为整形数在比大小的时候很方便,而字符集比大小规则很复杂。再例如时间原创 2021-02-03 00:43:02 · 91 阅读 · 0 评论 -
MySQL redolog,binlog,undolog,buffer pool
binlogbinlog用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是mysql的逻辑日志,并且由Server层进行记录,使用任何存储引擎的mysql数据库都会记录binlog日志。逻辑日志:可以简单理解为记录的就是sql语句。 物理日志:因为mysql数据最终是保存在数据页中的,物理日志记录的就是数据页变更。binlog是通过追加的方式进行写入的,可以通过max_binlog_size参数设置每个binlog文件的大小,当文件大小达到给定值之...原创 2021-01-29 00:25:27 · 331 阅读 · 2 评论 -
MySQL多版本并发控制MVCC笔记
本文只是个人个人学习笔记,友情提示本文主要参考:1,视频讲解2,参考博客实现原理快照,版本链,undo log,readview,过滤条件。版本链InnoDB的MVCC可以是通过在每行记录中保存两个隐藏的列来实现的,创建事物id,删除事物id。每开始一个新的事务,系统版本号(可以理解为事务的ID)就会自动递增,事务开始时刻的系统版本号会作为事务的ID。Innodb的最基本行记录(row)中包含一些额外的存储信息:DATA_TRX_ID,DATA_ROLL_PTR,DB_RO.原创 2021-01-27 00:21:01 · 84 阅读 · 0 评论 -
mysql执行计划
mysql执行计划 在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句的执行效率。 可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道mysql是如何处理sql语句的。 官网地址: https://dev.mysql.com/doc/refman/5.5/en/explain-output.html1、执行计划中包含的信息ColumnMeaningidThe SELE原创 2021-01-22 23:03:13 · 65 阅读 · 0 评论 -
二叉搜索树,AVL树,红黑树,B树,B+树对比分析
二叉搜索树AVL自平衡二叉搜索树红黑树B树B+树原创 2021-01-17 17:01:03 · 599 阅读 · 0 评论 -
B树平衡过程-根节点为什么最少要有两个子节点?
假如当前有一颗m阶的B树(注意阶的意思是指每个节点的孩子节点的个数),那么其符合:(1)每个节点最多有m个子节点(2)除了根节点和叶子节点之外,其他的每个节点最少有m/2(向上取整)个孩子节点(3)根节点至少有两个孩子节点,(除了第一次插入的时候,此时只有一个节点,根节点同时是叶子节点)(4)所有的叶子节点都在同一层(5)有k个子节点的父节点包含k-1个关键码...原创 2021-01-15 01:09:50 · 6213 阅读 · 7 评论 -
MySQL基础知识要点
一、为什么要学习数据库二、数据库的相关概念 DBMS、DB、SQL三、数据库存储数据的特点四、初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MySQL服务的启动和停止 ★ MySQL服务的登录和退出 ★ MySQL的常见命令和语法规范 五、DQL语言的学习 ★ 基础查询 ★ 条件查询 ★原创 2021-01-13 00:29:21 · 82 阅读 · 0 评论