什么是数据库里面的主键

Access数据库如何设置约束条件?

数据库 SQL 约束之 PRIMARY KEY

说白了:SQL主键就是给每个数据项一个唯一的ID号,不能重复,不能有间隙。

我们先来说说最重要的事情。
去年我们运行电商系统,使用自增ID作为主键。
结果,平均每天 5 000 个订单的插入速度突然下降到 1 秒 2 00 毫秒——用技术术语来说就是雪崩效应。
事实上,前线的一个小延误让一切都恢复了。
另一点是,将表中经常用于查询数据的特定字段(例如用户名)设置为主键是很常见的。
不过,我们去年就尝试过。
当用户数达到3 000左右时,查询效率还不如单独添加索引。
还有另一个关键细节。
选择错误的主键类型可能会出现问题。
例如,使用字符串作为主键会使存储成本和索引效率提高一倍。
老实说,这很令人沮丧。

我一开始以为主键只有两个选项,自增ID或者UUID,后来发现是错误的。
还有一个组合键,例如B、用户ID+订单时间戳,特别适合分布式系统。
等等,还有一件事:主键不能就这样改变。
一旦数据量增大,更改主键的成本比创建表还要高。

建议新手先使用自增ID。
不过记得注意表结构,万一数据量爆炸了不要后悔。