在 Data Vault 2.0 中,对业务键进行散列处理并将该散列作为表的主键。链接表也使用散列主键来创建关系。
我的问题是散列基本上是随机的,查询优化器无法应用任何好的估计,因为统计信息 - 当然 - 不适用于随机分布的数据。
所以查询优化器使用奇怪的计划来经常排序(因为它认为只有 4 行要排序)。既然我肯定不是第一个在 sql server 中处理数据保险库的人,那么如何解决这个问题?
当查询优化器使用索引查找或连接运算符时,它完全错过了行估计,因此选择了荒谬的计划。
我必须用连接提示和查询提示(例如(FORCE ORDER))来拉皮条,以从中得到任何东西。
常见的方法是什么?