数据库设计

来源: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,还得判断每个区间都要没被买过,读写都要操作多条数据。而我是对一条数据的其中一个字段做位运算,众所周知,位运算性能是较高的。

1
0

新版Springboot3.0打造能落地的高并发仿12306售票系统

最新版Spring3.0仿12306售票系统实战

852 学习 · 511 问题

查看课程