数据库主键字段

目前打算项目中使用雪花算法生成主键id,但是目前有个问题。雪花算法是19-20个数字,如果传到前端,JS会溢出丢失精度,数据库中用varchar存long类型会有性能问题吗?不是很想用uuid,那目前生成唯一主键id用什么算法比较好呢?

阅读 2.3k
2 个回答

建议还是使用Bigint,可以进行范围查询、排序,占用空间更小

JavaScript的最大数字是2^53-1,后端接口可将Bigint转成String返回

数据规模小自增最好。
数据规模大,尤其是分库分表存储,存uuid和雪花id是必要的。性能会差,但不会差太多。类型可以设置为char(20)或char(36)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题