我有一个SQL Server(RSQL)和一个SSAS服务器(RSSAS)。 RSQL有一个到RSSAS的链接服务器,命名为[LinkedCube]
Here is a screenshot of my Linked Server Properties
我使用SSMS连接到RSQL,然后运行使用链接服务器从SSAS返回数据的查询。结果集包含100,000行,完全返回数据需要17秒。
Profiler表示MDX查询持续时间约为3秒,因此返回数据需要14秒。
网络连接的最大传输速率为100MB /秒,因此14秒是不可接受的。
你知道为什么花费很多时间来传输数据吗?
在我看来,我认为OLE DB for MOLAP存在问题。我在连接字符串中使用 format = Tabular ,默认的SSAS格式可能是 format = Native ,因此需要更多时间来转换数据格式。如果我使用Excel从SSAS获取相同的数据,它会更快,总共5秒。 Excel使用ADOMD.NET而不是使用原生格式的OLE DB提供程序和Excel请求数据。
EXEC('SELECT {[Measures].[Qty]} ON COLUMNS,{[Product].Members} ON ROWS FROM [AnalysisServicesCube]')AT [LinkedCube]