oracle中有没有方法快速得到表中记录的总数?

boots 2003-10-16 03:04:26
如题:
数据表中的记录一般都在200w以上,并且实时变化,希望快速得到数据表中的记录总数,以前在sqlserver上可以用sp_spaceused tablename这样的存储过程得到当前表的rows,不知道oracle中有没有类似的方法?
...全文
495 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
boots 2003-10-17
  • 打赏
  • 举报
回复
tsj68(tsj) :
感谢感谢,这个位图索引也太快了吧.

boots 2003-10-17
  • 打赏
  • 举报
回复
tsj68(tsj) :
我建了索引怎么也不看不出来它快呀,这个适当的位图索引怎么建立?能否赐教?
我被这个东西给搞的都没有什么脾气了
bzszp 2003-10-17
  • 打赏
  • 举报
回复
用触发器会影响操作效率
可以的话,定时检索
zebero 2003-10-17
  • 打赏
  • 举报
回复
up
tiger9382 2003-10-17
  • 打赏
  • 举报
回复
不要用count(*),如果该表在某个字段上创建了索引(id),就用count(id),这样的速度会快很多。我曾经对一个6000万的表作计算,总共没有超过15秒
boots 2003-10-17
  • 打赏
  • 举报
回复
适当的建立一个位图索引,就可以利用索引来优化select count(*) from table_name语句,以避免全表扫描.我的一个表(oracle91)1500万条记录,没有索引时大于120秒,建了索引只用不到1秒.

我来试试看
robixiao 2003-10-16
  • 打赏
  • 举报
回复
用count(*)将引起full scan.
select count(column_name) from a.
其中column_name是表a的索引列,这样只会相关索引的读取.
tsj68 2003-10-16
  • 打赏
  • 举报
回复
适当的建立一个位图索引,就可以利用索引来优化select count(*) from table_name语句,以避免全表扫描.我的一个表(oracle91)1500万条记录,没有索引时大于120秒,建了索引只用不到1秒.
chanet 2003-10-16
  • 打赏
  • 举报
回复
select count(*) from a
smallcrocodile 2003-10-16
  • 打赏
  • 举报
回复
select count(col_name) from tab_name
已经很快了
boots 2003-10-16
  • 打赏
  • 举报
回复
"在表上创建一个行级触发器来监测表中记录的变化,并记录下来"
我现在就是这么干的,但这样严重影响数据库写入速度,
我的系统要求的写入速度很高的
select max(rownum) from tablename 我也试过了,速度几乎和count一样

还有更好的建议吗?
qiuyang_wang 2003-10-16
  • 打赏
  • 举报
回复
可以用 count(*) 来实现,但速度太慢。
用关联查询的方式也可以,估计速度也不会太理想:
select max(num) from (select rownum num from tablename);

建议:
在表上创建一个行级触发器来监测表中记录的变化,并记录下来。
需要一个表记录这些信息(包括表中记录条数最新统计数字)
具体实现方法很多,你自己好好考虑一下吧。

注意:操作回退的情况
bzszp 2003-10-16
  • 打赏
  • 举报
回复
建一个表,存放表名和条数
通过job定时调用计算条数的存储过程把结果保存到表中

这样取起来肯定快,但是实时性不强
boots 2003-10-16
  • 打赏
  • 举报
回复
count(*) 这样的操作对于我现在的应用实在太慢了,200W条记录count一次就要用快1分钟,无法忍受的呀,我觉得oracle这样的数据库应该有更简便的方法的呀
kerisyml 2003-10-16
  • 打赏
  • 举报
回复
select count(*) from tab_name不就可以实现了吗,需要那么麻烦吗
bzszp 2003-10-16
  • 打赏
  • 举报
回复
好像是没有

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧