Oracle问题 现在有一个SQL语句。同样的表,同样的条件,查出显示记录为0.087秒但是我现在求所查询出来的数据的COUNT就要十几秒才能出来请问有高手知道怎么解决不?我用的是Oracle9i 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的语句是怎么写的?select count(1) from tablename where ...这样试试 select count(1) from table where ---要十几秒和select * from table where --只要0.几秒 --执行计划就是看看你的语句怎么执行的scott@YPCOST> set autot on exp;--在sqlplus里可以通过这个自动输出执行计划scott@YPCOST> select * from dept; DEPTNO DNAME LOC---------- -------------- ------------- 90 dfd dfd 60 suzhou we 70 suzhou 50 NANCHANG 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON已选择8行。执行计划----------------------------------------------------------Plan hash value: 3383998547--------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |--------------------------------------------------------------------------| 0 | SELECT STATEMENT | | 8 | 128 | 3 (0)| 00:00:01 || 1 | TABLE ACCESS FULL| DEPT | 8 | 128 | 3 (0)| 00:00:01 |--------------------------------------------------------------------------scott@YPCOST> select count(*) from dept; COUNT(*)---------- 8执行计划----------------------------------------------------------Plan hash value: 3380918908-------------------------------------------------------------------------------------------| Id | Operation | Name | Rows | Cost (%CPU)| Time |-------------------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | 1 | 1 (0)| 00:00:01 || 1 | SORT AGGREGATE | | 1 | | || 2 | INDEX FULL SCAN| BIN$8mPMMewIQa6BxCHkeZP6Wg==$0 | 8 | 1 (0)| 00:00:01 |------------------------------------------------------------------------------------------- select count(1) from table where ---要十几秒--这个要走排序,时间长 exp模式 数据库问题 如何将10G下的数据库导到9I下 简单问题 oracle 中“=”和 like 的区别 database link 的问题 如何导出数据库中所有表的表结构? 搞定了一个超复杂的过程,心情好爽,放分!!! 在LINUX上如何在程序中判断与数据库的连接是否正常 请问安装了ORACLE8客户端后,再装ORACLE9客户端怎么安装呀? 一个很奇怪的,也很难的问题,请求解决!!!!还没人能正确解决!!! 求助:关于oracle触发器和事务的问题 返回一个数据集始终为null,请教oracle中该如何返回?
select count(1) from tablename where ...
这样试试
和
select * from table where --只要0.几秒
scott@YPCOST> set autot on exp;--在sqlplus里可以通过这个自动输出执行计划
scott@YPCOST> select * from dept; DEPTNO DNAME LOC
---------- -------------- -------------
90 dfd dfd
60 suzhou we
70 suzhou
50 NANCHANG
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON已选择8行。
执行计划
----------------------------------------------------------
Plan hash value: 3383998547--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 8 | 128 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| DEPT | 8 | 128 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------scott@YPCOST> select count(*) from dept; COUNT(*)
----------
8
执行计划
----------------------------------------------------------
Plan hash value: 3380918908-------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 1 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | INDEX FULL SCAN| BIN$8mPMMewIQa6BxCHkeZP6Wg==$0 | 8 | 1 (0)| 00:00:01 |
-------------------------------------------------------------------------------------------
--这个要走排序,时间长