如何优化蒙德里安层次?
How to optimize mondrian hierarchy?
事实 table 有 date_id 列。日期 table 有年、月、日、小时列。日期维度:
当我发送这样的请求时:
SELECT {[Measures].[Pc in sum]} ON COLUMNS,
[Renter].Children ON ROWS
FROM [Renter]
WHERE [Date].[2010].[1].[1].[10] : [Date].[2015].[5].[2].[20]
蒙德里安生成约 2000 个这样的请求:
select
`date`.`hour` as `c0`
from
`date` as `date`
where
(`date`.`day_of_month` = 1 and `date`.`month_calendar` = 4 and `date`.`year_calendar` = 2015)
group by
`date`.`hour`
太慢了。如何解决这个问题?
更改请求中的日期切片器解决了问题
{
[Date].[2008].[8].[10].[10],
[Date].[2008].[8].[10].[11],
[Date].[2008].[8].[10].[12],
[Date].[2008].[8].[10].[13],
[Date].[2008].[8].[10].[14],
[Date].[2008].[8].[10].[15],
[Date].[2008].[8].[10].[16],
[Date].[2008].[8].[10].[17],
[Date].[2008].[8].[10].[18],
[Date].[2008].[8].[10].[19],
[Date].[2008].[8].[10].[20],
[Date].[2008].[8].[10].[21],
[Date].[2008].[8].[10].[22],
[Date].[2008].[8].[10].[23],
[Date].[2008].[8].[11],
[Date].[2008].[8].[12],
[Date].[2008].[8].[13],
[Date].[2008].[8].[14],
[Date].[2008].[8].[15],
[Date].[2008].[8].[16],
[Date].[2008].[8].[17],
[Date].[2008].[8].[18],
[Date].[2008].[8].[19],
[Date].[2008].[8].[20],
[Date].[2008].[8].[21],
[Date].[2008].[8].[22],
[Date].[2008].[8].[23],
[Date].[2008].[8].[24],
[Date].[2008].[8].[25],
[Date].[2008].[8].[26],
[Date].[2008].[8].[27],
[Date].[2008].[8].[28],
[Date].[2008].[8].[29],
[Date].[2008].[8].[30],
[Date].[2008].[8].[31],
[Date].[2008].[9],
[Date].[2008].[10],
[Date].[2008].[11],
[Date].[2008].[12],
[Date].[2009],
[Date].[2010],
[Date].[2011],
[Date].[2012],
[Date].[2013].[1],
[Date].[2013].[2],
[Date].[2013].[3],
[Date].[2013].[4],
[Date].[2013].[5],
[Date].[2013].[6],
[Date].[2013].[7],
[Date].[2013].[8],
[Date].[2013].[9],
[Date].[2013].[10].[1],
[Date].[2013].[10].[2],
[Date].[2013].[10].[3],
[Date].[2013].[10].[4],
[Date].[2013].[10].[5],
[Date].[2013].[10].[6],
[Date].[2013].[10].[7],
[Date].[2013].[10].[8],
[Date].[2013].[10].[9],
[Date].[2013].[10].[10],
[Date].[2013].[10].[11],
[Date].[2013].[10].[12],
[Date].[2013].[10].[13],
[Date].[2013].[10].[14],
[Date].[2013].[10].[15],
[Date].[2013].[10].[16],
[Date].[2013].[10].[17],
[Date].[2013].[10].[18],
[Date].[2013].[10].[19],
[Date].[2013].[10].[20].[0],
[Date].[2013].[10].[20].[1],
[Date].[2013].[10].[20].[2],
[Date].[2013].[10].[20].[3],
[Date].[2013].[10].[20].[4],
[Date].[2013].[10].[20].[5],
[Date].[2013].[10].[20].[6],
[Date].[2013].[10].[20].[7],
[Date].[2013].[10].[20].[8],
[Date].[2013].[10].[20].[9],
[Date].[2013].[10].[20].[10],
[Date].[2013].[10].[20].[11],
[Date].[2013].[10].[20].[12],
[Date].[2013].[10].[20].[13],
[Date].[2013].[10].[20].[14],
[Date].[2013].[10].[20].[15],
[Date].[2013].[10].[20].[16],
[Date].[2013].[10].[20].[17],
[Date].[2013].[10].[20].[18],
[Date].[2013].[10].[20].[19],
[Date].[2013].[10].[20].[20]
}
事实 table 有 date_id 列。日期 table 有年、月、日、小时列。日期维度:
当我发送这样的请求时:
SELECT {[Measures].[Pc in sum]} ON COLUMNS,
[Renter].Children ON ROWS
FROM [Renter]
WHERE [Date].[2010].[1].[1].[10] : [Date].[2015].[5].[2].[20]
蒙德里安生成约 2000 个这样的请求:
select
`date`.`hour` as `c0`
from
`date` as `date`
where
(`date`.`day_of_month` = 1 and `date`.`month_calendar` = 4 and `date`.`year_calendar` = 2015)
group by
`date`.`hour`
太慢了。如何解决这个问题?
更改请求中的日期切片器解决了问题
{
[Date].[2008].[8].[10].[10],
[Date].[2008].[8].[10].[11],
[Date].[2008].[8].[10].[12],
[Date].[2008].[8].[10].[13],
[Date].[2008].[8].[10].[14],
[Date].[2008].[8].[10].[15],
[Date].[2008].[8].[10].[16],
[Date].[2008].[8].[10].[17],
[Date].[2008].[8].[10].[18],
[Date].[2008].[8].[10].[19],
[Date].[2008].[8].[10].[20],
[Date].[2008].[8].[10].[21],
[Date].[2008].[8].[10].[22],
[Date].[2008].[8].[10].[23],
[Date].[2008].[8].[11],
[Date].[2008].[8].[12],
[Date].[2008].[8].[13],
[Date].[2008].[8].[14],
[Date].[2008].[8].[15],
[Date].[2008].[8].[16],
[Date].[2008].[8].[17],
[Date].[2008].[8].[18],
[Date].[2008].[8].[19],
[Date].[2008].[8].[20],
[Date].[2008].[8].[21],
[Date].[2008].[8].[22],
[Date].[2008].[8].[23],
[Date].[2008].[8].[24],
[Date].[2008].[8].[25],
[Date].[2008].[8].[26],
[Date].[2008].[8].[27],
[Date].[2008].[8].[28],
[Date].[2008].[8].[29],
[Date].[2008].[8].[30],
[Date].[2008].[8].[31],
[Date].[2008].[9],
[Date].[2008].[10],
[Date].[2008].[11],
[Date].[2008].[12],
[Date].[2009],
[Date].[2010],
[Date].[2011],
[Date].[2012],
[Date].[2013].[1],
[Date].[2013].[2],
[Date].[2013].[3],
[Date].[2013].[4],
[Date].[2013].[5],
[Date].[2013].[6],
[Date].[2013].[7],
[Date].[2013].[8],
[Date].[2013].[9],
[Date].[2013].[10].[1],
[Date].[2013].[10].[2],
[Date].[2013].[10].[3],
[Date].[2013].[10].[4],
[Date].[2013].[10].[5],
[Date].[2013].[10].[6],
[Date].[2013].[10].[7],
[Date].[2013].[10].[8],
[Date].[2013].[10].[9],
[Date].[2013].[10].[10],
[Date].[2013].[10].[11],
[Date].[2013].[10].[12],
[Date].[2013].[10].[13],
[Date].[2013].[10].[14],
[Date].[2013].[10].[15],
[Date].[2013].[10].[16],
[Date].[2013].[10].[17],
[Date].[2013].[10].[18],
[Date].[2013].[10].[19],
[Date].[2013].[10].[20].[0],
[Date].[2013].[10].[20].[1],
[Date].[2013].[10].[20].[2],
[Date].[2013].[10].[20].[3],
[Date].[2013].[10].[20].[4],
[Date].[2013].[10].[20].[5],
[Date].[2013].[10].[20].[6],
[Date].[2013].[10].[20].[7],
[Date].[2013].[10].[20].[8],
[Date].[2013].[10].[20].[9],
[Date].[2013].[10].[20].[10],
[Date].[2013].[10].[20].[11],
[Date].[2013].[10].[20].[12],
[Date].[2013].[10].[20].[13],
[Date].[2013].[10].[20].[14],
[Date].[2013].[10].[20].[15],
[Date].[2013].[10].[20].[16],
[Date].[2013].[10].[20].[17],
[Date].[2013].[10].[20].[18],
[Date].[2013].[10].[20].[19],
[Date].[2013].[10].[20].[20]
}