主题:【原创】身为码农,为12306说两句公道话 -- 代码狗
共:💬137 🌺892 🌵3
关于库存数据存储设计,我再提一个方案,不用16个商品也不用136个,只用1个,但是不存储“库存数量”,而是用一个bit vector代表整个路线的存货,查询和购买都只用一次操作。
北京西到深圳北就是一个16位的bit vector,初始状态全部是1。
查询1号站到5号站就是查询:
1111 1111 1111 1111 AND 1111 0000 0000 0000 == 1111 0000 0000 0000
查询只用一次操作,得TRUE
如果这张票卖出去了,那写入也只是一次操作:
1111 1111 1111 1111 - 1111 0000 0000 0000, 得新值0000 1111 1111 1111,写入。
下一次查询比如2号站到6号站:
0000 1111 1111 1111 AND 0111 1000 0000 0000 == 0111 1000 0000 0000 得 FALSE.
读写兼顾,而且数据库维护很容易,没有任何多余重复信息。
- 相关回复 上下关系8
🙂同一线路的商品数可能没有那么多 老衲无礼 字212 2014-01-20 00:08:45
🙂不上水木不行啊 悠悠又见西山 字67 2014-01-20 06:44:21
😄写的很好 迎风迫降 字42 2014-01-14 14:10:45
🙂数据模型设计
🙂我同意你的算法,而且这个算法可以硬件加速 4 暗夜流星 字1143 2014-01-14 23:46:55
🙂那这样做成硬件完全没有扩展性啊 okcgb 字46 2014-02-08 19:43:23
🙂可以设计车厢标准件 天天跑路 字123 2015-04-14 04:02:29
🙂这个设计只适合1个座位吧 1 汉服骑射 字54 2014-01-14 20:43:59