以前有人说过这个问题
count(1)效率更高一些
count(1)效率更高一些
解决方案 »
- win7里安装Oracle的问题。
- 求SQL语句,条件离某个时间最近的数据。
- ORACLE还原不成功,有日志
- oracle数据库怎样查名字
- 一条复杂的sql查询语句,不知道怎么写好点?????
- 求各個時間段的第一筆紀錄
- 请问DATEADD(hh,DATEDIFF(hh,0,dateadd(hh,7-datepart(hh,getdate()),getdate())),0))也就定位到当天的早上7点,在oracle中怎么表达?
- 在oracle官方网站上下载的可以用吗,它和普通的盗版有什么区别吗
- TNS适配器 是什么?安装oracle 时提示“TNS适配器错误”,高分求救!!
- oracle连接不上服务器,报TNS-12571: TNS:信息包写入器失败
- 求救:使用datediff(year,A.hdate,sysdate)想获得自hdate日期以来多少年提示出错?要实现此功能应如何写?另外,什么地方可以得到Oracle
- 高手请进,关于sql plus启动的问题!出现如下问题:
如果要统计记录条数,用count(1)比较快些。
turn explain on
set time on
and run those queries against your largest table .
ID是一个主键
这个问题值得大家讨论。
本人一直用法count(1)
SQL> select count(1) from ic01; COUNT(1)
----------
18148621Executed in 104.141 secondsSQL> select count(*) from ic01; COUNT(*)
----------
18148621Executed in 156.828 seconds
----------
4388Elapsed: 00:00:03.95
SQL> select count(zybm) from rs_st_ryxx;COUNT(ZYBM)
-----------
4388Elapsed: 00:00:04.97
SQL> select count(*) from rs_error; COUNT(*)
----------
1046Elapsed: 00:00:00.40
SQL> select count(dm) from rs_error; COUNT(DM)
----------
1046Elapsed: 00:00:00.30
SQL> select count(zybm) from rs_zb_zyrsjbxx;COUNT(ZYBM)
-----------
4463Elapsed: 00:00:00.30
SQL> select count(*) from rs_zb_zyrsjbxx; COUNT(*)
----------
4463Elapsed: 00:00:00.20
SQL> select count(*) from rs_fb_jsxx; COUNT(*)
----------
12890Elapsed: 00:00:00.40
SQL> select count(zybm) from rs_fb_jsxx;COUNT(ZYBM)
-----------
12890Elapsed: 00:00:00.50
测试了很多,结果不一定,对应大的数据量,应该是count(*) 快一些