Jod*_*tte 5 sql t-sql sql-server olap
我们有一个包含17Mil行的表,其中包含产品属性,让我们说它们是:
brandID,sizeID,colorID,price,shapeID
我们需要按品牌和大小查询聚合.目前我们通过执行以下操作来查询和过滤此数据:
select brandID, sizeID, count(*)
from table where colorID in (1,2,3) and price=10 and shapeID=17
--"additional complex where clause here"
group by brandID, sizeID
order by brandID, sizeID
Run Code Online (Sandbox Code Playgroud)
我们报告这些数据.问题是,尽管返回的实际数据只有几百行,但运行此查询需要10秒左右(这是一个非常简单的示例).
我认为我们已经达到了索引此表的能力,因此我认为任何数量的索引都不会让我们接近即时结果.
我对OLAP或其他分析服务知之甚少,但SQL Server可以预先过滤或预先聚合此表,以便可以执行上述查询(或类似的返回等效数据)?或者在一个非常大的表上处理任意where子句的最佳方法是什么?