【发布时间】:2017-02-25 11:34:24
【问题描述】:
我有 PHP/MYSQL 汽车租赁网站。在我存储的 MYSQL 表中
- 汽车牌照
- 汽车规格(如空调、品牌等)
- 每天的价格(30 列),因为 1 天的价格是每天 X 欧元,而 30 天的价格是每天 Y 欧元
- 每天的保险(这是每 汽车的事情,因为这取决于具体的汽车历史,年份, 品牌、型号等)。因此,由于一个月有 30 天,我们 这里还有 30 列,因为保险 1 天 保险 假设是 28 天
现在,如果我把所有这些东西都放进去,我将有大约 70 列。 有没有更聪明的方法来避免性能下降? 我不控制价格,也没有每日价格或每日保险公式。
一个想法是使用车牌作为索引并将其放入 2 张表中,一张带有价格(35 行),一张带有保险(35 行)。还有其他的吗?
DB 大约有 1000 辆汽车。我每天在数据库中收到大约 10.000 个查询
非常感谢。
【问题讨论】:
-
price per day (30 colums)...如果您有超过 30 个日期,这将无法很好地扩展。相反,请按记录(行)更改日期。 -
这个问题回答起来有点宽泛,有些事情还不清楚(至少对我来说)。但是,是的,规范化/关系数据库的一般想法是像您已经建议的那样创建单独的表。但是,一辆车最多只能租30天吗?我认为您需要仔细考虑每天的价格到底是什么意思。我无法想象一个月的天数是租车的限制因素。还是这样?
-
1000 和 10000 以及 35 和 35*1000 是“小”数字。您没有任何大小/性能问题(假设您有合适的索引)。
标签: php mysql database-design