免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1773 | 回复: 7
打印 上一主题 下一主题

我有一个查询相当的慢,各位可否帮我研究一下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-21 17:30 |只看该作者 |倒序浏览
1>; select product.*,manufacturer.manufacturer_shortname
2>; from product,manufacturer where product.status='0' and product.pri in ('8','9','0') and manufacturer.manufacturer_sn=product.manufacturer_sn
3>; order by product.publish_date desc
4>; go
Message empty.
语句 1 的查询计划(第 1 行)。
Message empty.
Message empty.
    步骤1
        查询类型是INSERT.
        更新方式是直接.
        已经为 ORDER BY 以 allpages 锁定模式创建工作表 1。
Message empty.
        FROM TABLE
            product
        内嵌循环.
        索引: product_status_index
        前向扫描。
        以键定位.
        键是:
            status  ASC
        为索引叶页使用I/O大小 16 K字节。
        为索引叶页使用 LRU 缓冲区替换策略。
        为数据页使用的I/O大小为 4 K字节。
        为数据页使用 LRU 缓冲区替换策略。
Message empty.
        FROM TABLE
            manufacturer
        内嵌循环.
        索引: manufactur_18386295931
        前向扫描。
        以键定位.
        键是:
            manufacturer_sn  ASC
        为索引叶页使用I/O大小 4 K字节。
        为索引叶页使用 LRU 缓冲区替换策略。
        为数据页使用的I/O大小为 4 K字节。
        为数据页使用 LRU 缓冲区替换策略。
        TO TABLE
            Worktable1.
Message empty.
    步骤2
        查询类型是SELECT.
        此步骤包括排序.
Message empty.
        FROM TABLE
            Worktable1.
        使用GETSORTED
        表扫描.
……………………………………………………
        前向扫描。
        定位于表头.
        为数据页使用的I/O大小为 16 K字节。
        为数据页使用 MRU 缓冲区替换策略。
Message empty.
对工作表 1 的排序在 Serial 中完成nn


每次总是停顿在作标记那个地方长达十几分钟之久。
各位可否帮我分析一下会是什么原因呢。

论坛徽章:
0
2 [报告]
发表于 2003-05-21 17:40 |只看该作者

我有一个查询相当的慢,各位可否帮我研究一下

这两个表的数据量怎么样呢?

论坛徽章:
0
3 [报告]
发表于 2003-05-21 17:41 |只看该作者

我有一个查询相当的慢,各位可否帮我研究一下

一个7k多行(product),一个400多行(manufacturer)

论坛徽章:
0
4 [报告]
发表于 2003-05-21 17:45 |只看该作者

我有一个查询相当的慢,各位可否帮我研究一下

查到的数据有多少?
manufacturer.manufacturer_sn=product.manufacturer_sn
上面有没有索引?

论坛徽章:
0
5 [报告]
发表于 2003-05-21 17:52 |只看该作者

我有一个查询相当的慢,各位可否帮我研究一下

原帖由 "zhangyh123" 发表:
查到的数据有多少?
manufacturer.manufacturer_sn=product.manufacturer_sn
上面有没有索引?


共5条,每个字段都有索引

论坛徽章:
0
6 [报告]
发表于 2003-05-21 18:03 |只看该作者

我有一个查询相当的慢,各位可否帮我研究一下

这么简单的查询,不应该需要这么多时间呀
在 sql advantge 中用 这个:
set showplan on
set noexec on
select a.*, b.xxx from AAA  bbb  ****************
go

set  showplan off
set  noexec  off
go


看看

论坛徽章:
0
7 [报告]
发表于 2003-05-21 18:10 |只看该作者

我有一个查询相当的慢,各位可否帮我研究一下

原帖由 "zhangyh123" 发表:
这么简单的查询,不应该需要这么多时间呀
在 sql advantge 中用 这个:
set showplan on
set noexec on
select a.*, b.xxx from AAA  bbb  ****************
go

set  showplan off
set  noexec  of..........


这个当然跟上面那个是一样的输出。

论坛徽章:
0
8 [报告]
发表于 2003-05-22 08:15 |只看该作者

我有一个查询相当的慢,各位可否帮我研究一下

in
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP