Hello Everyone
We are using pentaho as BI tool for querying large databases, the DBs are in star schema, the pentaho edition is the community edition (open source).
The fact tables are joined to reference tables via normal table join. Each fact table references many ref tables, atleast 6-7 reference tables. Date is one such reference table, there are other reference tables that have records 3L - 4L records.
The mondrian output from the query performs a join with these reference tables before displaying the output. The problem faced by us that the values in the reference tables are always used in IN clause in SQL statement, slowing down the query time. When the dimensions do not have filter applied on them, even in those cases the entire list of reference values are selected and placed in the IN clause
for example: select dim1,dim2,ref.value, sum(metric1) from fact, ref where fact.key=ref.key and ref.value IN (value1,value2,value3,value4...valu400...value5000)
This kind of SQL formation is slowing down the query execution time and hence reports are slow.. Ideally we would want the "ref.value IN...." clause to not exists in cases where there is no filter applied on dimension in ROW or in Filters.
We are using SAIKU for reporting.
Your help is appreciated.
Praveen
We are using pentaho as BI tool for querying large databases, the DBs are in star schema, the pentaho edition is the community edition (open source).
The fact tables are joined to reference tables via normal table join. Each fact table references many ref tables, atleast 6-7 reference tables. Date is one such reference table, there are other reference tables that have records 3L - 4L records.
The mondrian output from the query performs a join with these reference tables before displaying the output. The problem faced by us that the values in the reference tables are always used in IN clause in SQL statement, slowing down the query time. When the dimensions do not have filter applied on them, even in those cases the entire list of reference values are selected and placed in the IN clause
for example: select dim1,dim2,ref.value, sum(metric1) from fact, ref where fact.key=ref.key and ref.value IN (value1,value2,value3,value4...valu400...value5000)
This kind of SQL formation is slowing down the query execution time and hence reports are slow.. Ideally we would want the "ref.value IN...." clause to not exists in cases where there is no filter applied on dimension in ROW or in Filters.
We are using SAIKU for reporting.
Your help is appreciated.
Praveen