Levon's Blog

微信: L6241425

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. revert

revert以新增一个 commit 的方式还原某一个 commit 的修改。这是一个安全的方法,因为它不会重写提交历史。

1
git revert <commit-id>
阅读全文 »

对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(git merge 或 git rebase),另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用(git cherry-pick) 。

所以 cherry-pick 是 摘取特定 commit 到 自己的分支上 (樱桃采摘)。

阅读全文 »

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

阅读全文 »
0%