![]() |
1
7
我肯定会选择第一种方法(层次方法)。我认为正确地建模数据比仅仅使用一个糟糕的数据模型来获得性能要好。因为您正在这里建模一个层次结构,所以将它以这种方式存储在数据库中是有意义的。 materialized view 为了“扁平化”层次数据,您仍然可以正确地存储数据,但是通过使用物化视图可以获得性能提升(如果有的话)。 几乎总有一种方法可以遵循一个好的数据模型,并且仍然可以找到获得良好性能的方法。但是 一个糟糕的数据模型将花费你数年的时间,以后要纠正它需要极大的痛苦 然而,即使使用扁平化方法,您也必须考虑显著增加记录的数量,特别是当您到达树中的叶节点时,因此如果使用扁平层次结构表(第二种方法)会提高性能,我会感到惊讶,因为有更多的记录要处理。 |
![]() |
2
2
|
![]() |
3
0
如果需要读取性能,请尝试路径枚举。
当然,这是规范化和性能之间的折衷。 |
![]() |
4
0
对于类似部门的情况,不可能在表中有足够的记录,以解决性能问题。别担心。
|
![]() |
joaocarlosib · 用于动态查询情况的存储过程常识模式 1 年前 |
![]() |
HALIM · Laravel 1查询多个不同的结果 1 年前 |
|
Scobbo · 从一个pandas数据帧.loc请求设置多个变量 1 年前 |
![]() |
Kalane · 数据集增加时SQL查询缓慢 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
user164863 · 我可以让这个mySQL查询更快吗? 7 年前 |