我在 Java Web 应用程序中使用MONDRIAN服务器和OLAP4j API,在添加接近查询的位置时出现性能问题。MDX 查询如:
SELECT
CrossJoin(
{[Product.ProductHierarchie].[AllProduct]}
, {[Measures].[Quantity]}
) ON COLUMNS,
[Client.ClientHierarchie].[AllClient].Children ON ROWS
FROM [sales_data_cube]
0.3秒完成。但是,当添加 where 子句(如
WHERE ([Period].&[start_period]:[Period].&[end_period])
)
以获取开始/结束期间之间的销售额时,查询需要超过250 秒的小事实表(8500 行)。
我应该怎么做才能有更好的表现?
该应用程序在内存限制 = 8GB 的 tomcat 服务器上运行,数据库服务器:MySQL 5.6.17