rv54ntjwfm3ug8
V2EX  ›  数据库

不会产生负数的 ID 字段用 unsigned int 还是 signed int 更好?

  •  
  •   rv54ntjwfm3ug8 · Apr 14, 2022 · 1890 views
    This topic created in 1489 days ago, the information mentioned may be changed or developed.

    好像很少见用 unsigned int 做 ID 的,Google 了一下有人说 unsigned int 经常需要被转换会导致性能问题,而且 unsigned int 的数据范围太大被转换成 int 时有可能会溢出

    5 replies    2022-04-15 10:22:36 +08:00
    westoy
        1
    westoy  
       Apr 14, 2022   ❤️ 1
    unsigned int 是 mysql 专属的啊, 以前用 mysql 手动建表的蛮多的

    后来用 ORM 或者各种 db 迁移工具维护表的多了, 这种单一数据库特性就用的少了
    est
        2
    est  
       Apr 14, 2022
    需要别人维护的,signed int 。

    自己搞着玩的,非正式场景的,mysql 不用挪窝的,刚好就缺一半取值范围的,unsigned int
    akira
        3
    akira  
       Apr 14, 2022
    金币变成 -1 不会死人,但是变成 FFFFFFFF ,那是会出人命的
    leonhao
        4
    leonhao  
       Apr 15, 2022
    unsigned int 是 MySQL 的一大神坑,老老实实用 bigint
    msg7086
        5
    msg7086  
       Apr 15, 2022
    无脑 bigint ( int64 )。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3403 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 10:56 · PVG 18:56 · LAX 03:56 · JFK 06:56
    ♥ Do have faith in what you're doing.