This commit is contained in:
by931
2022-09-06 22:30:37 +08:00
parent 66970f3e38
commit 3d6528675a
796 changed files with 3382 additions and 3382 deletions

View File

@@ -275,7 +275,7 @@ function hide_canvas() {
<p>以 MySQL 为例MySQL 建议使用自增 ID 作为主键,我们知道 MySQL InnoDB 引擎支持索引,底层数据结构是 B+ 树,如果主键为自增 ID 的话,那么 MySQL 可以按照磁盘的顺序去写入;如果主键是非自增 ID在写入时需要增加很多额外的数据移动将每次插入的数据放到合适的位置上导致出现页分裂降低数据写入的性能。</p>
<h3>基于 Snowflake 算法</h3>
<p>Snowflake 是 Twitter 开源的分布式 ID 生成算法,由 64 位的二进制数字组成,一共分为 4 部分,下面是示意图:</p>
<p><img src="assets/Ciqc1F7rW7SAGVg-AACcCEZzof0687.png" alt="image" /></p>
<p><img src="assets/Ciqc1F7rW7SAGVg-AACcCEZzof0687.png" alt="png" /></p>
<p>其中:</p>
<ul>
<li>第 1 位默认不使用,作为符号位,总是 0保证数值是正数</li>