我遇到了我正在执行的select语句的性能问题。Select语句性能
这就是:
SELECT Material.*
FROM Material
INNER JOIN LineInfo ON Material.LineInfoCtr = LineInfo.ctr
INNER JOIN Order_Header ON LineInfo.Order_HeaderCtr = Order_Header.ctr
WHERE (Order_Header.jobNum = 'ttest')
AND (Order_Header.revision_number = 0)
AND (LineInfo.lineNum = 46)
声明正在5-10秒取决于服务器负载来执行。
一些表统计:
- Material has 2,030,xxx records.
- Lineinfo has 190,xxx records
- Order_Header has 2,5xx records.
我的发言是含有约20-25数据的场共18行返回。返回一个字段或全部都没有区别。这种表现是典型的吗?我能做些什么来改善它吗?
我试过使用子选择检索外键,IN子句和我发现一个帖子,其中一个家伙说使用左外连接帮助他。对我来说,他们都会产生相同的5到10秒的执行时间。
这是通过MS SQL管理工作室访问的MS SQL Server 2005。时间是查询分析器中经过的时间。
任何想法?
什么是索引?你知道如何显示和分析查询计划吗? – gerleim 2009-11-05 23:15:55