有 100 条数据 那么用 select Count(*) from table 查出总数量 还是 算快的
如果 有 5000000 条数据 select Count(*) from table 就很慢了 ;; 请问有没有 办法使它 执行更快!! 谢谢了
如果 有 5000000 条数据 select Count(*) from table 就很慢了 ;; 请问有没有 办法使它 执行更快!! 谢谢了
解决方案 »
- oracle 存储过程问题
- 如何将一台机子上的一个oracle表复制到另一台机子上
- oracle如何在函数中传递数组参数
- 请问一下怎样通过java程序或通过shell 将数据库里面某张表的数据导出来?
- oracle 可变数组的使用,谁能跟个例子
- 请教.(toad的输入自动提示在哪里设置呀.我找了好久都没有找到)
- 请问以下问题怎么通过sql语句完成?
- 帮帮我吧,关于在RED Hat 9上安装oracle 9iR2的问题!could not locate java runtime!
- ORA-02041: 客户数据库未开始一个事务处理
- Oracle初學請問?
- java 连接 oracle 需要配置点什么啊?
- 在linux下安装了oracle,使用“./dbstart”启动数据库,为何报错?cat: /var/opt/oracle/oratab: 没有那个文件或目录
我的是400多万,查出来还不到1秒, 这个速度应该还可以接受吧,如果楼主想继续提高,可以提高硬件...SQL> set timing on
SQL> select count(*) from customer; COUNT(*)
----------
4343867已用时间: 00: 00: 00.64
SQL> select count(1) from customer; COUNT(1)
----------
4343871已用时间: 00: 00: 00.79
SQL>
的性能如何
http://topic.csdn.net/u/20090617/16/401ea743-48fa-4449-ab85-6e955fea1a01.html
是不走索引的。因为在null值上不存在索引!
如果你想我加快select count(*) from table 的速度,只有利用Oracle的并行执行!
select /* +parallel(table,5)*/count(*) from table
这个是以消耗cpu资源为代价的,如果cup占用率高,那就别用。
表中数据越多,速度越明显!!!!
select count(主键字段) from tablename
这样也是比较有效的,我感觉在操作数据库时无论什么语句最好别用*
mysql> select count(*) from mytable;
+----------+
| count(*) |
+----------+
| 973442 |
+----------+
1 row in set (2.84 sec)mysql> select count(name) from mytable;
+-------------+
| count(name) |
+-------------+
| 973442 |
+-------------+
1 row in set (3.33 sec)那 这 是 怎么回事 啊 !! 不是说 * 是 很慢的么
=============================================
country(*) 和 count(name) 结果是不一样的。
这个语句建个索引能提高性能吗?