J'ai un problème avec une requête générée par Mondrian OLAP Server. ça prend trop de temps. la requête ressemble à ceci.Optimisation de requête
select "TABLE1"."column0" as "c0" from "FACT_TABLE" as "FACT_TABLE",
"TABLE7" as "TABLE7",
"TABLE6" as "TABLE6",
"TABLE5" as "TABLE5",
"TABLE4" as "TABLE4",
"TABLE4" as "TABLE3",
"TABLE2" as "TABLE2",
"TABLE1" as "TABLE2"
where "FACT_TABLE"."column1" = 'VALUE' and
"FACT_TABLE"."column2" =0 and
"FACT_TABLE"."column3" = 0 and
"TABLE2"."table1Fk" = "TABLE1"."table1Id" and
"TABLE3"."table2Fk" = "TABLE2"."table2Id" and
"TABLE4"."table3Fk" = "TABLE3"."table3Id" and
"TABLE5"."table4Fk" = "TABLE4"."table4Id" and
"TABLE6"."table5Fk" = "TABLE5"."table5Id" and
"TABLE7"."table6Fk" = "TABLE6"."table6Id" and
"FACT_TABLE"."table7Fk" = "TABLE7"."table7Id"
group by "TABLE1"."column0"
order by "TABLE1"."column0" ASC
FACT_TABLE a 1,346,000 rangées aprox. TABLE7 a 895 lignes aprox. TABLE6 a 445 lignes. TABLE5 a 183 lignes. Le TABLEAU4 comporte 258 lignes. TABLEAU3 = TABLEAU4. TABLE2 a 126 lignes. TABLE1 a 29 lignes.
La requête prend environ 2,00 secondes sur l'environnement de production, et je ne sais vraiment pas quoi faire pour améliorer la performance des requêtes.
Im sur une RAM de 8 Go. intel xeon L5420 à 2.50GHZ. MSSQL 2005.
je vais aprécié toute aide que vous pouvez me donner
Le problème est que cette syntaxe n'est pas générée par moi-même. il est généré par un autre nom appelé Mondrian qui est un serveur OLAP. je veux juste savoir comment peut améliorer cela peut-être créer les bons index ou autre chose – rfders