Оптимизация запросов - PullRequest
0 голосов
/ 30 июня 2010

У меня проблема с запросом, сгенерированным сервером Mondrian OLAP. это занимает слишком много времени. запрос выглядит следующим образом.

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 имеет 1.346.000 строк. Таблица 7 имеет около 895 строк. ТАБЛИЦА6 имеет 445 строк. ТАБЛИЦА 5 имеет 183 строки. Таблица 4 имеет 258 строк. ТАБЛИЦА 3 = ТАБЛИЦА 4. ТАБЛИЦА2 имеет 126 строк. ТАБЛИЦА 1 имеет 29 строк.

Запрос занимает 2,00 сегмента времени за рабочую среду, и я действительно не знаю, что делать, чтобы улучшить производительность запроса.

я более 8 ГБ ОЗУ. Intel Xeon L5420 на 2,50 ГГц. MSSQL 2005.

Я буду признателен за любую помощь, которую вы можете мне дать

Ответы [ 2 ]

0 голосов
/ 01 июля 2010

Я подозреваю, что у вас нет индексов в полях внешнего ключа.

Это не вызывает вашей проблемы, но я лично не хотел бы использовать инструмент, который создает неявные, а не явные объединения. Как можно доверять тому, что использует синтаксис, который 18 лет назад был заменен чем-то лучшим?

О, что-то еще, что я только что заметил, я не вижу никаких агрегатов, так почему вы группируете по?

0 голосов
/ 30 июня 2010

Посмотрите на план выполнения.Он уведомит вас, если заметит какие-либо таблицы, которые могут использовать некластеризованный индекс для улучшения времени запроса.

http://blogs.msdn.com/b/craigfr/archive/tags/joins/

Эта ссылка очень помогает при оптимизации запросов (и изучении тонныдругих вещей.)

...