Levon's Blog

微信: L6241425

1. mysql

版本事件时间New
1.01995仅供内部使用
3.11.11996First release
4.02002查询缓存,联合,全文,InnoDB
5.02005存储的Routies,视图,游标,触发器,XA事务,I_S
5.12008-11-14事件调度程序,分类,插件API,RBR,InnoDB插件,MySQL群集
5.52010-12-03InnoDB代替MyISAM成为MySQL默认的存储引擎。
5.62013-02-05在线DDL,GTID,并行复制,ICP,MRR……MySQL 5.6是MySQL历史上一个里程碑式的版本,这也是目前生产上应用得最广泛的版本。https://dev.mysql.com/doc/refman/5.6/en/mysql-nutshell.html
5.72015-10-21组复制,InnoDB Cluster,多源复制, JSON支持https://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html
8.02018-04-19不可见索引,降序索引https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
阅读全文 »

登录学信网, 发现手机号还是大学时候用的手机号, 号码都忘记了, 改绑现在的手机还需要必填以前的手机号.

之前的手机号中间四位是****, 所以一共有10000种可能.

阅读全文 »

MySQL 更新语句的流程会涉及到 undo log(回滚日志)、redo log(重做日志) 、binlog (归档日志)这三种日志。

  • undo log(回滚日志):是 Innodb 存储引擎层生成的日志,实现了事务中的原子性,主要用于事务回滚和 MVCC。
  • redo log(重做日志):是 Innodb 存储引擎层生成的日志,实现了事务中的持久性,主要用于掉电等故障恢复。
  • binlog (归档日志):是 Server 层生成的日志(和存储引擎无关),主要用于数据备份和主从复制。
阅读全文 »

1. mysql 数值数据类型

MySQL支持所有标准的SQL数值数据类型。这些类型包括精确的数字数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC,以及近似数字数据类型(FLOAT、REAL和DOUBLE PRECISION)。

  • INT是INTEGER的同义词。

  • DEC, FIXED, NUMERIC是DECIMAL的同义词。

  • DOUBLE视为DOUBLE PRECISION(非标准扩展)的同义词。

  • REAL视为DOUBLE PRECISION(非标准变体)的同义词,除非启用REAL_AS_FLOAT SQL模式。

从MySQL8.0.17开始,ZEROFILL属性不推荐用于数值数据类型,在未来的MySQL版本中,对它的支持将被删除。

阅读全文 »

1. join类型

在关系代数中,连接运算是由一个笛卡尔积运算和一个选取运算构成的。首先用笛卡尔积完成对两个数据集合的乘运算,然后对生成的结果集合进行选取运算,确保只把分别来自两个数据集合并且具有重叠部分的行合并在一起。

连接的全部意义在于在水平方向上合并两个数据集合(通常是表),并产生一个新的结果集合,其方法是将一个数据源中的行于另一个数据源中和它匹配的行组合成一个新元组。

SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。

阅读全文 »

1. Cherry-pick 是什么,何时该用

一句话:把别处的某几个 commit 复制到当前分支,每次产生新的 commit hash。

跟 merge / rebase 的本质区别在粒度:

  • merge / rebase 处理整条分支的所有提交
  • cherry-pick 处理你点名的几个提交

什么时候考虑它:

  • 线上 bug 修复在 develop 上做了,需要同步到 release / main(hotfix 回灌)
  • 跨仓库 / 跨分支只想要某个同事的某次提交
  • release 分支上挑选验证通过的功能上线

什么时候别用它(先想其他方案):

  • 想把整条 feature 分支搬过去,用 merge / rebase
  • 想撤销某个已 push 的提交,用 revert
  • 长生命分支日常同步,用 merge,cherry-pick 会埋陷阱(见第 3 节)

记一句:cherry-pick 是「挑几个」,不是「搬一片」。下面进入具体用法。

阅读全文 »

1. 撤销更改:Revert 与 Reset

1.1 使用 Revert 撤销

git revert 通过新增一个 Commit 的方式来抵消指定提交的修改。这是一种安全的操作,因为它不会改写已有的提交历史,非常适合在多人协作的分支上使用。

1
2
# 撤销指定的 commit-id
git revert <commit-id>
阅读全文 »

mac配置了多个外接显示器,有些窗口需要快速移动到某个显示器内。另外如何应对个别用户需要定制窗口尺寸及位置的需求?这个时候你需要Moom来辅助你。

阅读全文 »
0%