前几天在项目组里,总监建议把所有数据表的主键设为字符串类型(UUID),由应用程序维护数据表的主键,问下这个主要是出于什么方面的考虑呢???
P.S. 我们用的MySQL数据库,存储引擎用的InnoDB,看了很多DBA的文章建议是说InnoDB类型的表最好是使用自增主键...
PHP中文网2017-04-17 16:21:42
主キーの UUID 生成により主キーの重複が回避され、プログラムの保守が容易になります。欠点については、私は経験が少ないためまだ遭遇していません。
黄舟2017-04-17 16:21:42
私が理解している限り、UUID を使用する利点は再現性が低いこと、自動生成が便利であること、主キーの繰り返し挿入の失敗を考慮する必要がないことです。
UUID の使用を推奨しない理由:データ量が一定の値に達すると、インデックスのメンテナンスが非常に不便になり、データベースのパフォーマンスが大幅に低下すると、シャーディングの順序性にも一定の影響が生じます。