gil*_*hal 0 database-design sql-server
我有以下表格设计。
一个Event表,带有用于保存事件元数据的辅助表。
每个事件行具有事件类型柱(regular_event,recurring_route,timed_messages等。)
每个事件类型都有自己的表来定义有关事件的不同内容 - 包括用户。问题是它可能被多对多表 ( users_regular_events) 或第三个表或第四个表( )直接引用events -> recurring_routes -> recurring_routes_stations -> recurring_stations -> recurring_stations_users -> users。
创建一个users_events表来复制某些事件之间的关系是否有意义?因为,目前如果我想向每个用户展示他的事件,我将不得不加入多个表。也许我需要重新考虑我的整个设计?
我的建议是按照合乎逻辑的方式设计系统,并在证明会导致性能问题时处理有问题的连接。不要仅仅因为您认为连接成本高而过早地优化。
出现性能问题的连接通常是因为查询很糟糕(可能是需求或查询逻辑不好),缺少索引,或两者兼而有之。
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |