我来自 MSSQL 世界,没有 MySQL 方面的专业知识。
在这两个不同的 RDBM 系统中可以将 GUID 作为主键。在 MSSQL 中,我最好做一些事情,以免随着行数增加(数百万行)而陷入性能噩梦。
我将主键创建为非聚集索引,以防止在插入新行时数据库页面发生更改。如果我不这样做,系统将在某些现有行之间插入该行,并且为了做到这一点,硬盘驱动器需要找到光盘上页面的正确位置。我创建了数字类型的第二列,这次作为聚集索引。这保证了新行将在插入时附加。
问题
但是我如何在 MySQL 中做到这一点?如果我的information是的,我不能强制 mysql 使用非聚集主键。这是必要的还是 MySQL 存储数据的方式不会导致以后的性能灾难?
更新:但是为什么呢?
我之所以要这样做是因为我希望能够实现一个分布式数据库。
最佳答案
我最终使用了 Sequential GUID,如
中所述CodeProject: GUIDs as fast primary keys under multiple databases .
表现出色!
关于MySQL(InnoDB): Guid as Primary Key for a Distributed Database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32974701/