首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询优化

查询优化
EN

Stack Overflow用户
提问于 2010-06-30 21:59:05
回答 2查看 145关注 0票数 0

我对mondrian OLAP Server生成的查询有问题。花的时间太长了。查询如下所示。

代码语言:javascript
复制
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行aprox。TABLE7有895行aprox。TABLE6有445行。TABLE5有183行。TABLE4有258行。TABLE3 = TABLE4。TABLE2有126行。TABLE1有29行。

在生产环境中,查询花费了2.00seg/ aprox,我真的不知道如何才能提高查询性能。

即时消息超过8 8GB的内存。英特尔至强L5420,2.50 xeon。MSSQL 2005。

如果你能给我任何帮助,我将不胜感激

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-30 22:45:35

看一下执行计划。如果它注意到任何可能使用非聚集索引来缩短查询时间的表,它将通知您。

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

这个链接对优化查询有很大帮助(还能学到很多其他东西)。

票数 0
EN

Stack Overflow用户

发布于 2010-07-01 04:49:45

我怀疑您的外键字段没有索引。

这不会导致您的问题,但我个人不想使用创建隐式连接而不是显式连接的工具。你怎么能相信使用了18年前被更好的语法取代的语法的东西呢?

哦,还有一件事,我刚刚注意到,我没有看到任何聚合,所以为什么你要按分组?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3149960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档