查看: 7298|回复: 15

1.4亿多条数据的分区表 select count(*) 极慢!有什么好的优化方法吗?

[复制链接]
论坛徽章:
71
ITPUB元老
日期:2009-11-30 15:55:11授权会员
日期:2009-11-30 11:36:17ITPUB季度 技术新星
日期:2010-08-31 10:47:25优秀写手
日期:2014-12-24 06:00:14ITPUB8周年纪念徽章
日期:2009-09-27 10:21:20祖国60周年纪念徽章
日期:2009-10-09 08:28:00奔驰
日期:2013-10-20 13:32:09数据库板块每日发贴之星
日期:2008-10-03 01:02:14数据库板块每日发贴之星
日期:2009-11-23 01:01:03数据库板块每日发贴之星
日期:2010-07-27 01:01:02
发表于 2009-7-9 22:26 | 显示全部楼层 |阅读模式
1.4亿多条数据的分区表 select count(*)  极慢!有什么好的优化方法吗?

表有PK.

请问有什么好的优化方法吗?
谢谢!

SQL> select count(*) from ticapp001.ttcgtr010_old partition (PTCGTR0100_BJS20081230);

  COUNT(*)
----------
  13455002
用时:23秒

SQL>  select count(*) from ticapp001.ttcgtr010_old;

  COUNT(*)
----------
141434670

用时:182秒
论坛徽章:
20
授权会员
日期:2005-11-02 13:35:57ITPUB8周年纪念徽章
日期:2009-09-27 10:21:22祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:兔
日期:2009-11-13 10:54:06生肖徽章2007版:蛇
日期:2009-11-28 18:44:592010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-03-01 11:06:292010年世界杯参赛球队:瑞士
日期:2010-04-03 20:50:32ITPUB9周年纪念徽章
日期:2010-10-08 09:31:212009日食纪念
日期:2009-07-22 09:30:00
发表于 2009-7-9 22:52 | 显示全部楼层
捡一个列长度最小的非空列,建一个索引,然后扫描这个索引,应该会快一些。

或者如果应用允许,找一个空值最最多的列,建一个bitmap的索引,扫描的时候走这个索引,应该也会快些

或者索引压缩下,也会要一些;或者所以的PCTFREE设置小一些

哈哈,还有,如果你的分区固定,想个啥办法把每个分区的COUNT并行进行,然后再SUM一下

使用道具 举报

回复
论坛徽章:
97
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
发表于 2009-7-9 22:57 | 显示全部楼层
需求就是这样count(*)吗?

使用道具 举报

回复
论坛徽章:
10
ITPUB元老
日期:2005-02-28 12:57:002010广州亚运会纪念徽章:保龄球
日期:2011-01-30 11:57:03祖国60周年纪念徽章
日期:2009-10-09 08:28:00参与2009年中国云计算大会纪念
日期:2009-06-05 10:02:28ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鼠
日期:2008-01-02 17:35:53会员2006贡献徽章
日期:2006-04-17 13:46:34授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
发表于 2009-7-9 23:44 | 显示全部楼层
You can use index and parallel to speed the count operation, for example:

select /*+ parallel_index(a some_table_pk 4) index_ffs(a some_table_pk) */ count(1) from some_table a;

note:
1. some_table_pk is the tables's primary key
2. 4 is the parallel degree. Decide it depend on the CPU number and IO capacity.  
3. Notice that more parallel degree will consume more CPU and IO, and system performance might be impacted.

使用道具 举报

回复
论坛徽章:
311
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
发表于 2009-7-9 23:46 | 显示全部楼层
走BITMAP索引最快。

使用道具 举报

回复
论坛徽章:
400
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2009-7-10 08:38 | 显示全部楼层
查统计信息比较快

使用道具 举报

回复
论坛徽章:
819
授权会员
日期:2007-08-10 01:06:30会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB元老
日期:2008-08-24 00:06:57 2014年世界杯参赛球队: 德国
日期:2014-07-09 15:28:06马上加薪
日期:2014-11-23 19:24:42马上有钱
日期:2014-12-21 16:14:33暖羊羊
日期:2015-03-04 14:50:372015年新春福章
日期:2015-03-06 11:57:31
发表于 2009-7-10 08:55 | 显示全部楼层
统计信息不够精确

使用道具 举报

回复
论坛徽章:
136
ITPUB年度最佳技术回答奖
日期:2010-06-12 13:17:14现代
日期:2013-10-02 14:53:59路虎
日期:2013-11-22 12:26:182014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
发表于 2009-7-10 08:57 | 显示全部楼层
为什么要经常查count(*) ???

使用道具 举报

回复
论坛徽章:
24
生肖徽章:狗
日期:2006-09-07 10:14:43数据库板块每日发贴之星
日期:2008-07-26 01:02:20生肖徽章2007版:兔
日期:2008-10-13 11:10:11奥运会纪念徽章:铁人三项
日期:2008-10-24 13:27:21开发板块每日发贴之星
日期:2008-12-27 01:01:09生肖徽章2007版:马
日期:2009-11-18 10:45:032010新春纪念徽章
日期:2010-03-01 11:21:02ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ERP板块每日发贴之星
日期:2011-05-18 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
发表于 2009-7-10 09:52 | 显示全部楼层
估计是分页查询,需要显示总记录数。

使用道具 举报

回复
认证徽章
论坛徽章:
176
现任管理团队成员
日期:2011-05-07 01:45:08版主7段
日期:2012-07-05 02:21:03ITPUB长老会成员
日期:2015-05-07 15:11:10ITPUB年度最佳版主
日期:2011-04-08 18:37:09ITPUB年度最佳版主
日期:2011-12-28 15:24:18ITPUB牛人
日期:2010-10-25 12:41:322010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:19
发表于 2009-7-10 09:56 | 显示全部楼层
学习!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表