数据库设计
来源:2-3 如何保证不超卖、不少卖,还要能承受极高的并发?

慕移动6258715
2024-05-27
为什么不把每一个小区间作为数据库中的一个记录呀。比如只存ab bc cd de这样区间的数据,像您那么设计数据库会存在很多冗余数据。您这么设计的考虑是什么呢,是不是像我说的这样更好
写回答
1回答
-
甲蛙
2024-05-29
数据库的设计要考虑读和写。即要能快速读,又要能快速写是最好的。
从冗余这个点来说,其实你的设计更占用空间,我10个座位就10条记录,你10个座位,得10*4=40条记录,如果站数更多,条数就越多。但我的条数就是固定10条,无非就是将销售详情从varchar(5)变成varchar(n个站),谈不上有冗余
从读写上来说,你的这个设计性能不太好,比如用户买了座位1的ad站,你得计算出ae对应了哪些记录:ab, bc, cd,还得判断每个区间都要没被买过,读写都要操作多条数据。而我是对一条数据的其中一个字段做位运算,众所周知,位运算性能是较高的。
10
相似问题