yhz6708 发表于 2009-08-11 21:46

不会是你的两个表有相同的字段名吧?

zhaowuxing 发表于 2009-08-13 10:11

1.Update Statistics默认是low级别.

参考 http://www.wangchao.net.cn/bbsdetail_1777115.html

2.select sfe01 from sfe_file,sfp_file where sfe02=sfp01 and sfp04 ='Y'   这里执行超慢
                                        and sfe01 ='WO5-970060'
这末严格的sql,还慢,可以肯定的是系统在遍历整个表,为什么会发生呢,
第一,索引没建好,或没建,象上面的,sfe_file,sfp_file ,sfe02,sfp01必须有索引.

第二.Update Statistics执行有问题,或没执行.

第三.你的大表,数据存储位置有没问题.

注:如果发生遍历整个表的状况,要小心,对数据库是负载很大的.

测试:你提出的三个sql在我的Tiptop 5.0 Infomrix 11.5 Redhat 5.3 测试都没问题,结果立显,
      给你我这边的索引建立情况!

索引名称            拥有者    型态    群集索引 列名称

sfe_01            tiptop    重复    否       sfe01

sfe_02            tiptop    重复    否       sfe02

sfe_03            tiptop    重复    否       sfe04

sfe_04            tiptop    重复    否       sfe07

索引名称            拥有者    型态    群集索引 列名称

sfp_01            tiptop    唯一    否       sfp01

海底世界 发表于 2009-08-13 14:11

jily_cunix 发表于 2009-08-13 16:40

set explain on avoid_execute;   -- 不用执行sql 只看sql计划
sql statement;

从sql计划中应该能看出来慢的sql没有走索引方式检索
贴出sql计划来看看吧

alcatel 发表于 2009-08-13 21:21

3sane 发表于 2009-08-21 13:28

回复 #1 liuwalker 的帖子

sfe02=sfp01 是两张表一一对应的吗?可以试试,先把其他查询条件放前面。
页: 1 [2]
查看完整版本: 查询表缓慢的问题