数据库主键长度设计工具
基于生日悖论计算碰撞机率,设计安全的主键随机码长度
候选字符串设定
候选字符总数: 36 个
时间前缀设定
精度
固定字符串设定
例如 "uap" = 3
例如 2 个 "-"
固定长度合计: 17 字符
碰撞机率设定
碰撞机率目标10^-6
10⁻¹²10⁻³
10⁻⁶ = 百万分之一,工程惯例安全标准
主键格式预览
格式结构
{前缀(3)}-{时间戳记(12)}-{随机码(7)}
范例
uap-019cbc0df867-btho911
总长度24
VARCHAR 建议VARCHAR(24)
随机码长度对照表
| 随机长度 | 排列组合数 (N) | 安全峰值 | 每秒峰值 | VARCHAR | 适合情境 |
|---|---|---|---|---|---|
| 1 | 36 | 8.5e-3 | 8 | 18 | ❌不可用,碰撞机率过高 |
| 2 | 1,296 | 0.05 | 50 | 19 | ❌不可用,碰撞机率过高 |
| 3 | 46,656 | 0.31 | 305 | 20 | ❌不可用,碰撞机率过高 |
| 4 | 1.68e+6 | 1 | 1,832 | 21 | ⚠️极低量,仅适合测试环境 |
| 5 | 6.05e+7 | 10 | 10,996 | 22 | ⚠️低量,小型内部系统 |
| 6 | 2.18e+9 | 65 | 65,981 | 23 | ⚠️低量,小型内部系统 |
| 7推荐 | 7.84e+10 | 395 | 395,889 | 24 | ✅中低量,一般中小型网站 |
| 8 | 2.82e+12 | 2,375 | ~238 萬 | 25 | ✅中量,一般 SaaS 服务 |
| 9 | 1.02e+14 | 14,252 | ~1425 萬 | 26 | ✅中高量,中大型平台 |
| 10 | 3.66e+15 | 85,512 | ~8551 萬 | 27 | ✅中高量,中大型平台 |
| 11 | 1.32e+17 | 513,072 | ~5.1 億 | 28 | ✅高量,大型网络服务 |
| 12 | 4.74e+18 | ~308 萬 | ~30.8 億 | 29 | ✅极高量,超大型分散式系统 |
| 13 | 1.71e+20 | ~1847 萬 | ~184.7 億 | 30 | ✅极高量,超大型分散式系统 |
| 14 | 6.14e+21 | ~1.1 億 | ~1108.2 億 | 31 | ✅顶级量,全球级别服务 |
| 15 | 2.21e+23 | ~6.6 億 | ~6649.4 億 | 32 | ✅顶级量,全球级别服务 |
| 16 | 7.96e+24 | ~39.9 億 | ~4.0 兆 | 33 | ✅顶级量,全球级别服务 |
| 17 | 2.87e+26 | ~239.4 億 | ~23.9 兆 | 34 | ✅天文数字,理论上永不碰撞 |
| 18 | 1.03e+28 | ~1436.3 億 | ~143.6 兆 | 35 | ✅天文数字,理论上永不碰撞 |
| 19 | 3.71e+29 | ~8617.6 億 | ~861.8 兆 | 36 | ✅天文数字,理论上永不碰撞 |
| 20 | 1.34e+31 | ~5.2 兆 | ~5170.6 兆 | 37 | ✅天文数字,理论上永不碰撞 |