oracle 10g中有关于 count(something)的优化吗?语句类似于 select count( something) where ....
取出来的数据要页面显示,但是每次 count对于页面的速度影响太大了,
如果要将 count(*) 的数据,存到一个新表里,那样又要对页面改动很大,我想问一问, oracle中有没有类似于sql server那样的统计优化?
取出来的数据要页面显示,但是每次 count对于页面的速度影响太大了,
如果要将 count(*) 的数据,存到一个新表里,那样又要对页面改动很大,我想问一问, oracle中有没有类似于sql server那样的统计优化?
解决方案 »
- merge into 求助
- 在sql里怎么把一个数值型的字段中小数点后的数值取出来?
- oracle 9i 通过透明网关和sqlserver 2000 连接疑问(顶者有分)
- 怎样还原能覆盖原有记录呀?
- 问下,oracle里面的大小写专函函数是?
- 采鸟提问:这段代码哪儿错了?
- 新手请教Oracle性能指标问题?在线等,谢谢!
- oracle中怎样将字段建成象SQL2000中的ID自动+1的字段
- oracle 816 中如何把 取出某一个字段的内容里面的回车换行 替换成\r\n ,html的回车换行?
- 数据库改为自动归档后文件每2到3小就自动归档一次,如何使时间延长一些
- 仅用SELECE语句实现多表信息的整合,急
- 取出表只出现一次的记录?
另外就是看索引是否有
http://blog.csdn.net/phphot/archive/2009/05/24/4211927.aspx
主要看你的where条件以及索引的建立情况。楼主不妨把执行计划贴出来看看。
使 指定 的 select count(something) where something的结果,直接存储于某个字段
这样的话,优化就成了取一条数据了
另外你经常查询的话,不管哪种方式,索引还是需要的
上面的链接你直接复制文字再打开
请参考:http://blog.csdn.net/phphot/archive/2009/05/24/4211927.aspx
Oracle的数据字典user_tables是有对rows的统计,不过这个值是和实际值有差异的,除非你做过统计。SQL> select num_rows from user_tables where table_name = '你的表名'如果是10g或者以上AWR会给你做自动统计,不过是有一定时间间隔的。默认的不是实时统计信息的,