sql – 简单的表设计问题

我试着提前思考一下,如果可能的话,尽量避免自己额外的痛苦.

我在过去的应用程序中遇到过这个问题,并且通常选择了最冗长的方法,但是想要其他几个方面的意见.

如果您有一个如下所示的基本表,那么包含一个字段是明智的和/或更有效的,该字段包括可以从另外两列中找到的信息的计算. IE:

+-----+---------+------------+-------+--------+-------+
| id  | room_id | bookdate   | price | people | total |
+-----+---------+------------+-------+--------+-------+
| 414 | 132     | 2010-03-01 | 14.55 | 2      | 29.10 |
| 415 | 132     | 2010-03-02 | 14.55 | 2      | 29.10 |
| 416 | 132     | 2010-03-03 | 14.55 | 2      | 29.10 |
+-----+---------+------------+-------+--------+-------+

最后一个字段中的信息可以从前两个字段的产品中提取出来,因此它是多余的,不必要的.有没有可能值得拥有它的情况?

解决方法

根据经验,除非存在性能问题,否则我不会存储可以计算的值(尤其是可以轻松计算的值),我需要节省一些处理时间.

这是性能和存储之间的经典权衡.我建议计算值,直到你需要提升性能.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...