int 主键的插入速度快,varchar 主键的查询灵活,sql 测试场景跑出来一看就明白。创建两个临时表,一个用int 自增长主键,另一个用varchar(30)当主键,各插入 10 万条数据,再对比插入和查询的性能,结果直观得。

嗯,用起来还挺方便的,直接在查询器打开就能跑。像平时你开发接口或者写数据同步逻辑,经常得想主键怎么选,这个例子能帮你快速感受不同主键带来的性能差异。

int 主键呢,插入的时候没啥压力,数据库还能自动给你编号,挺适合大量插入的场景。比如用户表、订单表,数据量大又不主键太长,用 int 就合适。select 的时候,响应也快,索引结构也比较轻。

varchar 当主键也有它的好处,像你要用业务字段当主键,比如订单号、用户标识,查起来也方便。但你要注意哦,插入速度就慢一些,占用空间也多点。

,如果你正好在建表或者做性能优化,不妨先跑一跑这个 sql。temp1temp2这俩表一对比,数据说话最有说服力。如果你还想进一步深入,推荐看看下面这两个资源:

如果你正纠结该选 int 主键还是 varchar 主键,可以先用这个小工具测一测,心里有数再动手,事半功倍哦。