InnoDB 表的数据写入顺序能和 B+树索引的叶子节点顺序一致的话,这时候存取效率是最高的。
|      1lenqu      2020-08-11 14:23:55 +08:00  1 个人观点,如果表数据不存在整列删除情况,主键 id 就很合适 | 
|  |      2wellsc      2020-08-11 14:24:26 +08:00 via iPhone  1 雪花也可以自增的 | 
|      3ifsclimbing      2020-08-11 14:33:48 +08:00  1 分库分表用 雪花 id 吧 | 
|  |      4opengps      2020-08-11 14:44:21 +08:00  1 怕爬虫规律性穷举的一定不能用自增 id | 
|      5damai0419      2020-08-11 16:23:16 +08:00 雪花是递增趋势. 不是严格递增的吧. 不分库分表,感觉没必要上分布式 id. | 
|  |      6wangyzj      2020-08-11 16:24:45 +08:00 业务量不是非常巨大,主键自增足够了 | 
|  |      7love      2020-08-11 16:26:16 +08:00 | 
|      8egfegdfr      2020-08-11 16:40:44 +08:00 看数据的重要性吧,一些非重要的数据就直接自增了(角色、权限), 重要数据用雪花 id (用户、产品、订单、 支付流水) | 
|  |      9takemeaway      2020-08-11 17:12:31 +08:00 | 
|  |      10qwerthhusn      2020-08-11 17:20:42 +08:00  1 用雪花,返回 json 时还要处理下格式,不然 js 读到大数字然后精度不足导致数据不对。。。 | 
|  |      11PopRain      2020-08-11 17:20:59 +08:00 数据库主键最大的问题是获取主键需要访问数据库,如果有主从表,比较麻烦 | 
|      12guisheng      2020-08-11 17:21:02 +08:00 目前采用主键自增+hashids 加密(就是处理麻烦了点其它目前无感)。 | 
|  |      13sunmoon1983      2020-08-11 20:26:18 +08:00 @qwerthhusn 对,我曾经也被这个问题困扰了,用了 json-bigint 也不好使,没办法,只能在后台先把 bigint 转成字符串再返回给前端 | 
|      14EminemW      2020-08-11 21:55:37 +08:00 via iPhone 一起用 | 
|      15littlewing      2020-08-12 00:52:15 +08:00 主键自增+一个雪花 ID | 
|  |      16yidinghe      2020-08-12 01:08:30 +08:00 via Android 有需要 ID 严格递增的话就用自增 | 
|  |      17locoz      2020-08-12 01:42:51 +08:00  1 这问题在前面这个帖子( https://www.v2ex.com/t/686977 )里的文章和回复中有一堆例子,还有各种性能问题、部署问题之类的讨论,你可以看看。 @takemeaway #9 能按 ID 顺序爬当然直接穷举 ID 啊,数据又全又不需要管列表页,增量还方便... | 
|  |      18xuanbg      2020-08-12 08:44:10 +08:00 有条件当然不要用数据库自增。用自增有两个坏处: 1 、id 可猜测,不对,应该是可预测。简直是为别人爬数据大开方便之门。 2 、新增数据返回 id 还得额外费手脚,写主从数据时很恶心。 | 
|      20securityCoding      2020-08-12 09:51:41 +08:00 @sunmoon1983 java 的话统一配置一下序列化策略就行了 | 
|      21keshawnvan      2020-08-12 10:35:09 +08:00 分布式场景用雪花挺好的: https://juejin.im/post/6844904132550066183 | 
|  |      22594duck      2020-08-12 11:27:44 +08:00 如果不是百库百表而且要强一致没必要使用雪花 ID 吧。 | 
|  |      23sunmoon1983      2020-08-12 12:56:18 +08:00 @securityCoding 我用的 go,我不知道有没有那么 NB 的功能 | 
|      24inwar      2020-08-12 13:47:12 +08:00 via Android @sunmoon1983 如果是 jackson 可以定义 Long 类型的序列化方式,直接转成 string | 
|      25yourssheng      2020-08-12 14:21:55 +08:00 @damai0419 数据库主键也不是严格递增也会有 1,2,4,5 这种情况 |