V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
013231
V2EX  ›  数据库

豆瓣似乎是用字符串類型儲存電影年份的, 為什麼要這麼做?

  •  
  •   013231 · 2013-02-19 00:13:27 +08:00 · 2404 次点击
    这是一个创建于 4315 天前的主题,其中的信息可能已经有所发展或是发生改变。
    豆瓣電影中, 絕大部分電影的年份是用數字表示的, 例如
    http://movie.douban.com/subject/5308265/
    電影名稱後的括號中寫著數字年份"2013". 但有極少數例外, 比如這個:
    http://movie.douban.com/subject/20452327/
    括號中寫著"2012年". 既然能出現"年"這個字, 想必年份數據是用某種字符串類型保存的囉? 為什麼要用字符串類型呢?
    15 条回复    1970-01-01 08:00:00 +08:00
    013231
        1
    013231  
    OP
       2013-02-19 00:15:25 +08:00
    @livid DB節點是否應放入"技術"分類下?
    paloalto
        2
    paloalto  
       2013-02-19 00:38:00 +08:00
    猜测:
    1.历史遗留问题?
    2.为了和第三方的数据兼容?如IMDb,因为我记得豆瓣很多电影数据是从IMDb导过来的。
    Livid
        3
    Livid  
    MOD
       2013-02-19 00:39:39 +08:00   ❤️ 1
    我这里看到括号里只有 2012…
    Livid
        4
    Livid  
    MOD
       2013-02-19 00:40:06 +08:00
    @013231 已归入。
    paloalto
        5
    paloalto  
       2013-02-19 00:40:45 +08:00
    @Livid 因为刚才我编辑了一下,把“年”去掉了。
    myang
        6
    myang  
       2013-02-19 00:41:00 +08:00
    我这里点开lz的两个链接都没有“年”字啊
    paloalto
        7
    paloalto  
       2013-02-19 00:41:08 +08:00
    Livid
        8
    Livid  
    MOD
       2013-02-19 00:43:35 +08:00
    这个 field 中如果变化不大的话,用 string 和用 int 的 index 效率差距不会太大。
    manhere
        9
    manhere  
       2013-02-19 01:27:27 +08:00 via Android
    年份为什么非得是数字?
    sobigfish
        10
    sobigfish  
       2013-02-19 08:39:10 +08:00 via iPad
    @manhere 数字好排序 好校验啊
    xupeng
        11
    xupeng  
       2013-02-19 09:44:48 +08:00
    因为条目的扩展属性不是存在强类型的关系数据库里的
    chenz
        12
    chenz  
       2013-02-20 10:09:49 +08:00   ❤️ 1
    @Livid

    如果说到index(我不知道你所说的index是指单纯的建立索引,还是包括查询。我假设是两者),虽然应该具体到某个数据库软件我们才能谈论效率,但是一般情况下,两者效率当然会相差很大。

    int是fixed-length,索引和查询的位移很快。年份这里目测是variable-length,索引和查询都会慢很多。即使假设"变化不大",也只是可以忽略索引速度而已,查询依然是有区别的。

    如果你所说的index只是单纯指建立索引,而又假设"变化不大",那讨论这个没什么意义了。就好像在说一个网站如果请求量不大的话,ec2的micro和large差别不会太大

    当然这里的年份应该是不作为一个index的
    kenlen
        13
    kenlen  
       2013-02-20 21:23:53 +08:00
    很少人会用年份来检索电影吧
    rekey
        14
    rekey  
       2013-02-21 22:50:50 +08:00
    是因为需要用户编辑吧...有可能来一个1980年左右的呢..
    upupxjg
        15
    upupxjg  
       2013-02-22 19:02:02 +08:00
    谁知到在后台有没有做什么转换,一个正则啥的就能转成想要的格式了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   900 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 20:10 · PVG 04:10 · LAX 12:10 · JFK 15:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.