博客园 - jiFeng丶
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=139173
2020-09-17T07:39:56Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
feed.cnblogs.com
https://www.cnblogs.com/jifengblog/p/13685536.html
MySQL 的覆盖索引与回表 - jiFeng丶
原文地址:https://segmentfault.com/a/1190000021718016 两大类索引 使用的存储引擎:MySQL5.7 InnoDB 聚簇索引 * 如果表设置了主键,则主键就是聚簇索引 * 如果表没有主键,则会默认第一个NOT NULL,且唯一(UNIQUE)的列作为聚簇索引
2020-09-17T07:40:00Z
2020-09-17T07:40:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】原文地址:https://segmentfault.com/a/1190000021718016 两大类索引 使用的存储引擎:MySQL5.7 InnoDB 聚簇索引 * 如果表设置了主键,则主键就是聚簇索引 * 如果表没有主键,则会默认第一个NOT NULL,且唯一(UNIQUE)的列作为聚簇索引 <a href="https://www.cnblogs.com/jifengblog/p/13685536.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12866399.html
mysql之explain分析sql语句 - jiFeng丶
explain分析查询 使用 EXPLAIN 关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。这可以帮你分析你的查询语句或是表结构的性能瓶颈。通过explain命令可以得到: 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引
2020-05-10T16:21:00Z
2020-05-10T16:21:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】explain分析查询 使用 EXPLAIN 关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。这可以帮你分析你的查询语句或是表结构的性能瓶颈。通过explain命令可以得到: 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引 <a href="https://www.cnblogs.com/jifengblog/p/12866399.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12866386.html
sql优化的几种方式 - jiFeng丶
一、为什么要对SQL进行优化 我们开发项目上线初期,由于业务数据量相对较少,一些SQL的执行效率对程序运行效率的影响不太明显,而开发和运维人员也无法判断SQL对程序的运行效率有多大,故很少针对SQL进行专门的优化,而随着时间的积累,业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,此
2020-05-10T16:17:00Z
2020-05-10T16:17:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】一、为什么要对SQL进行优化 我们开发项目上线初期,由于业务数据量相对较少,一些SQL的执行效率对程序运行效率的影响不太明显,而开发和运维人员也无法判断SQL对程序的运行效率有多大,故很少针对SQL进行专门的优化,而随着时间的积累,业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,此 <a href="https://www.cnblogs.com/jifengblog/p/12866386.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12866370.html
为什么选择B+树作为索引结构? - jiFeng丶
mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 参考:redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 redis的跳表原理 时间复杂度O(logn)(阿里) 参
2020-05-10T16:11:00Z
2020-05-10T16:11:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 参考:redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 redis的跳表原理 时间复杂度O(logn)(阿里) 参 <a href="https://www.cnblogs.com/jifengblog/p/12866370.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12866297.html
mysql之MyISAM与InnoDB之前的区别于选择 - jiFeng丶
1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。 2、
2020-05-10T15:52:00Z
2020-05-10T15:52:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。 2、 <a href="https://www.cnblogs.com/jifengblog/p/12866297.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12865988.html
mysql之innodb引擎的行锁和表锁 - jiFeng丶
InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION);二是采用了行级锁。行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题。下面我们先介绍一点背景知识,然后详细讨论InnoDB的锁问题。 背景知识 事务(Transaction)及其ACID属性 事务
2020-05-10T15:38:00Z
2020-05-10T15:38:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION);二是采用了行级锁。行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题。下面我们先介绍一点背景知识,然后详细讨论InnoDB的锁问题。 背景知识 事务(Transaction)及其ACID属性 事务 <a href="https://www.cnblogs.com/jifengblog/p/12865988.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12865958.html
MVCC多版本并发控制 - jiFeng丶
前提概要 什么是MVCC 什么是当前读和快照读? 当前读,快照读和MVCC的关系 MVCC实现原理 隐式字段 undo日志 Read View(读视图) 整体流程 MVCC相关问题 RR是如何在RC级的基础上解决不可重复读的? RC,RR级别下的InnoDB快照读有什么不同? 一、前提概要 什么是M
2020-05-10T15:31:00Z
2020-05-10T15:31:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】前提概要 什么是MVCC 什么是当前读和快照读? 当前读,快照读和MVCC的关系 MVCC实现原理 隐式字段 undo日志 Read View(读视图) 整体流程 MVCC相关问题 RR是如何在RC级的基础上解决不可重复读的? RC,RR级别下的InnoDB快照读有什么不同? 一、前提概要 什么是M <a href="https://www.cnblogs.com/jifengblog/p/12865958.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12865922.html
mysql日志系统:binlog,redo log,undo log - jiFeng丶
日志系统主要有redo log(重做日志)和binlog(归档日志)。redo log是InnoDB存储引擎层的日志,binlog是MySQL Server层记录的日志, 两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。 图来自极客时间的mysql实践,该图是描述的是M
2020-05-10T15:24:00Z
2020-05-10T15:24:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】日志系统主要有redo log(重做日志)和binlog(归档日志)。redo log是InnoDB存储引擎层的日志,binlog是MySQL Server层记录的日志, 两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。 图来自极客时间的mysql实践,该图是描述的是M <a href="https://www.cnblogs.com/jifengblog/p/12865922.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12859287.html
mysql触发器trigger - jiFeng丶
MySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧: 什么是触发器 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。 举个例子,比如你现在有两个表【用
2020-05-09T10:06:00Z
2020-05-09T10:06:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】MySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧: 什么是触发器 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。 举个例子,比如你现在有两个表【用 <a href="https://www.cnblogs.com/jifengblog/p/12859287.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12857989.html
mysql之my.cnf配置文件详解 - jiFeng丶
# 以下选项会被MySQL客户端应用读取。 # 注意只有MySQL附带的客户端应用程序保证可以读取这段内容。 # 如果你想你自己的MySQL应用程序获取这些值。 # 需要在MySQL客户端库初始化的时候指定这些选项。 # [client] #password = [your_password] po
2020-05-09T07:51:00Z
2020-05-09T07:51:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】# 以下选项会被MySQL客户端应用读取。 # 注意只有MySQL附带的客户端应用程序保证可以读取这段内容。 # 如果你想你自己的MySQL应用程序获取这些值。 # 需要在MySQL客户端库初始化的时候指定这些选项。 # [client] #password = [your_password] po <a href="https://www.cnblogs.com/jifengblog/p/12857989.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12856292.html
mysql主从复制原理及异步复制与半同步复制 - jiFeng丶
主从复制原理 1.数据库有个bin-log二进制文件,记录了所有sql语句。2.我们的目标就是把主数据库的bin-log文件的sql语句复制过来。3.让其在从数据的relay-log重做日志文件中再执行一次这些sql语句即可。4.下面的主从配置就是围绕这个原理配置5.具体需要三个线程来操作:1.bi
2020-05-09T03:42:00Z
2020-05-09T03:42:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】主从复制原理 1.数据库有个bin-log二进制文件,记录了所有sql语句。2.我们的目标就是把主数据库的bin-log文件的sql语句复制过来。3.让其在从数据的relay-log重做日志文件中再执行一次这些sql语句即可。4.下面的主从配置就是围绕这个原理配置5.具体需要三个线程来操作:1.bi <a href="https://www.cnblogs.com/jifengblog/p/12856292.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12855623.html
mysql参数修改 - jiFeng丶
一、variable #查看mysql参数 #mysql -uroot -proot -e "show variables;"|grep logbin 二、status #查看mysql状态 #mysql -uroot -proot -e "show status;" #全局状态#mysql -ur
2020-05-09T02:11:00Z
2020-05-09T02:11:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】一、variable #查看mysql参数 #mysql -uroot -proot -e "show variables;"|grep logbin 二、status #查看mysql状态 #mysql -uroot -proot -e "show status;" #全局状态#mysql -ur <a href="https://www.cnblogs.com/jifengblog/p/12855623.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12855434.html
mysql之show full processlist详解 - jiFeng丶
mysql show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/show-processlist.html show full processlist 返回的结果是实时变化的,是对m
2020-05-09T01:53:00Z
2020-05-09T01:53:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】mysql show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/show-processlist.html show full processlist 返回的结果是实时变化的,是对m <a href="https://www.cnblogs.com/jifengblog/p/12855434.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12853982.html
超级有用的15个mysqlbinlog命令 - jiFeng丶
在MySQL或MariaDB中,任意时间对数据库所做的修改,都会被记录到日志文件中。例如,当你添加了一个新的表,或者更新了一条数据,这些事件都会被存储到二进制日志文件中。二进制日志文件在MySQL主从复合中是非常有用的,主服务器会发送其数据到远程服务器中。 当你需要恢复MySQL时,也会需要使用到二
2020-05-08T16:08:00Z
2020-05-08T16:08:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】在MySQL或MariaDB中,任意时间对数据库所做的修改,都会被记录到日志文件中。例如,当你添加了一个新的表,或者更新了一条数据,这些事件都会被存储到二进制日志文件中。二进制日志文件在MySQL主从复合中是非常有用的,主服务器会发送其数据到远程服务器中。 当你需要恢复MySQL时,也会需要使用到二 <a href="https://www.cnblogs.com/jifengblog/p/12853982.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12853927.html
mysql通过binlog日志恢复数据 - jiFeng丶
误删除数据时,可以通过binlog日志文件恢复数据,需要提前开启binlog状态。 原文地址:https://www.cnblogs.com/YCcc/p/10825870.html 刷新binlog参数 -F -A --master-data
2020-05-08T15:58:00Z
2020-05-08T15:58:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】误删除数据时,可以通过binlog日志文件恢复数据,需要提前开启binlog状态。 原文地址:https://www.cnblogs.com/YCcc/p/10825870.html 刷新binlog参数 -F -A --master-data <a href="https://www.cnblogs.com/jifengblog/p/12853927.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12853835.html
mysql之数据备份与还原_mysqldump - jiFeng丶
mysql之数据备份与还原: 原文地址:https://www.cnblogs.com/q455674496/p/10305997.html 备份: #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. 逻辑备份: 备份的是建表、建库、插入等
2020-05-08T15:39:00Z
2020-05-08T15:39:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】mysql之数据备份与还原: 原文地址:https://www.cnblogs.com/q455674496/p/10305997.html 备份: #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. 逻辑备份: 备份的是建表、建库、插入等 <a href="https://www.cnblogs.com/jifengblog/p/12853835.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12853799.html
影响mysql索引生效的场景 - jiFeng丶
首先我们要知道mysql中 myisam,innodb默认使用的是 Btree索引,至于btree的数据结构是怎样的都不重要,只需要知道结果,既然是索引那这个数据结构最后是排好序;就像新华字典他的目录就是按照a,b,c..这样排好序的; 所以你在找东西的时候才快,比如你找 “中” 这个字的解释,你肯
2020-05-08T15:32:00Z
2020-05-08T15:32:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】首先我们要知道mysql中 myisam,innodb默认使用的是 Btree索引,至于btree的数据结构是怎样的都不重要,只需要知道结果,既然是索引那这个数据结构最后是排好序;就像新华字典他的目录就是按照a,b,c..这样排好序的; 所以你在找东西的时候才快,比如你找 “中” 这个字的解释,你肯 <a href="https://www.cnblogs.com/jifengblog/p/12853799.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12853764.html
检测mysql中建立的索引是否生效 - jiFeng丶
使用方法,在select语句前加上explain就可以了: EXPLAIN SELECT surname,first_name form a,b WHERE a.id=b.id原文地址:https://www.cnblogs.com/pengyunjing/p/9197430.html
2020-05-08T15:26:00Z
2020-05-08T15:26:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】使用方法,在select语句前加上explain就可以了: EXPLAIN SELECT surname,first_name form a,b WHERE a.id=b.id原文地址:https://www.cnblogs.com/pengyunjing/p/9197430.html <a href="https://www.cnblogs.com/jifengblog/p/12853764.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12397887.html
Flink集群搭建 - jiFeng丶
Flink支持多种安装模式。 local(本地)——单机模式,一般不使用 standalone——独立模式,Flink自带集群,开发测试环境使用 yarn——计算资源统一由Hadoop YARN管理,生产环境测试 Standalone模式 步骤 1. 解压flink压缩包到指定目录 2. 配置fli
2020-03-02T12:44:00Z
2020-03-02T12:44:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】Flink支持多种安装模式。 local(本地)——单机模式,一般不使用 standalone——独立模式,Flink自带集群,开发测试环境使用 yarn——计算资源统一由Hadoop YARN管理,生产环境测试 Standalone模式 步骤 1. 解压flink压缩包到指定目录 2. 配置fli <a href="https://www.cnblogs.com/jifengblog/p/12397887.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/jifengblog/p/12397309.html
Flink系统架构 - jiFeng丶
原文链接:一文弄懂Flink基础理论 Flink分布式程序包含2个主要的进程:JobManager和TaskManager.当程序运行时,不同的进程就会参与其中,包括Jobmanager、TaskManager和JobClient。 当 Flink 集群启动后,首先会启动一个 JobManger 和
2020-03-02T10:39:00Z
2020-03-02T10:39:00Z
jiFeng丶
https://www.cnblogs.com/jifengblog/
【摘要】原文链接:一文弄懂Flink基础理论 Flink分布式程序包含2个主要的进程:JobManager和TaskManager.当程序运行时,不同的进程就会参与其中,包括Jobmanager、TaskManager和JobClient。 当 Flink 集群启动后,首先会启动一个 JobManger 和 <a href="https://www.cnblogs.com/jifengblog/p/12397309.html" target="_blank">阅读全文</a>