drp*_*ken 8 mysql relational-database
我正在构建一个包含许多相关表的MySQL数据库.我知道我可以创建唯一的自动增量主键,然后在相关表中将主键作为外键引用.我的问题是什么是主/外键数据类型(int,varchar等)的最佳实践.我想确保第一次就做对了.
谢谢
Mch*_*chl 14
在MySQL中,最常用的数据类型是INT UNSIGNED.它长4个字节,可以存储高达40亿的数字,这对于大多数应用来说已经足够了.从您的应用程序开始,使用BIGINT(8B - 18446744073709551615范围)通常是一种过度杀伤.在您的数据库对于INT主键太大之前,您需要聘请专业的DBA来帮助您解决其他问题.
当使用GUID类型主键时,可以使用CHAR或BINARY数据类型 - 这样的键可以更容易地跨多个数据库实例分片数据,但是使用MySQL时,更常见的是多主复制.
使用InnoDB表时,最好记住,PK将隐式地是在特定表上创建的所有其他索引中的最后一列.这使得为PK使用相当短的数据类型很重要(同样4B INT通常可以很好地完成它的工作).
| 归档时间: |
|
| 查看次数: |
8467 次 |
| 最近记录: |