我正在建立一个报告解决方案。数据将存储在Oracle数据库中。我希望接近数十亿的数据集,因为我必须保存1年的数据。在设计数据库模式时,我遇到了单表或一组表的问题。
什么是更好的表现方式。对于大型数据集,json对联接的效率如何?
发布于 2020-07-14 19:10:17
这在一定程度上取决于您是否需要解析该JSON,比如WHERE子句中的JSON,或者GROUP等等.
如果它仍然是一个不露面的blob,那么将它保留为选项#1可能会更快;但是请记住,很少会出现这种情况--您可能会意外地被要求在某个时候报告/查询JSON!
我不知道Oracle,但在Microsoft SQL Server中,联合在加入时往往表现不佳;它们作为独立查询似乎很好,但一旦成为子查询,情况似乎就会减慢,除非您执行类似于物化视图的操作。
因此,虽然我个人更喜欢选项2,但是性能可能会因为一个超过100万行的大数据集而陷入困境。您可以不使用UNION,而是将记录放在同一个表中,但使用类型列来区分它们吗?
https://dba.stackexchange.com/questions/269855
复制相似问题