事实表有大约1亿行,每个行的大小约为100k行。
由于这些表的连接最近需要很长时间,我想知道将两个维度合并为一个是一个好主意,因此它只能连接到一个表。两个维度是M:N,因此新维度将非常巨大。
谢谢!
答案 0 :(得分:0)
没有"对"在不了解您的数据的情况下回答您的问题(比如您的事实表中有更多维度吗?您有多少组查询和登陆页面?),但很少有评论:
你当前的设计(我从这里可以理解的)并不坏,你有很多数据,你必须处理它,但结合两个维度与100K元素,以避免连接没有&#39 ;对我来说似乎是对的
尝试优化您的查询,构建索引(如果您没有它们),并行化您的查询(如果您的数据库引擎允许您这样做),尽量避免like
在您的位置如果可能,最后一个资源会考虑更多硬件或不同的数据库引擎。
如果您通常仅使用这些维度中的一个进行查询,则可以考虑使用聚合表来减少行数,您将使用更多空间,但查询将具有单个连接和更小的事实表
可以查询登陆页面的孩子吗? (即stackoverflow.com是查询的父母,如" Guru Meditation错误消息"" stackcareers.com"是#34;数据池工作的池男孩的父母")当然对于多个登录页面,您将以相同的查询结束,在这种情况下,您需要分配不同的外键。但是这个不同的模型可以导致不同的解决方案,您将只有1:M关系,并且可以通过登陆页面维度来构建聚合表,但这需要更改您的查询以提取数据。而且我再也不知道你的数据,也许它会更有意义查询登陆页面的父母......
这再次只是我的想法"没有解决方案。