查看: 5859|回复: 10

[讨论] 求助,两个接近千万级表优化

[复制链接]
论坛徽章:
1
2010新春纪念徽章
日期:2010-03-01 11:20:05
发表于 2010-5-31 17:26 | 显示全部楼层 |阅读模式
create table A
(id varchar2(18) primary key
, ........
)tablespace users;

create table  B
(id varchar2(18) primary key
, ........
)tablespace users;

B中数据都是从A中得来,table A和table B基本上一一对应。table A和table B各有3个索引。

应用程序是先检索A中符合条件的数据,然后update刚从表A中检索出来的数据,计算后插入B表。这个过程处理非常慢,而之前数据库没有经过任何优化,使用的是oracle最初始的设置。

我先drop原table A和table B的索引,并新建索引在indx表空间(目前这6个索引已占用超过1G的磁盘空间),速度急速提升(之前处理一个情况需要30分钟左右,分开表和索引后处理10个类似情况只需要1分钟左右),但执行几次操作后速度又很快下降,恢复到之前的水平。

硬件环境:很普通的小型机
数据库环境:Oracle 9ir2

求助,如何来优化这两个表?原则上不考虑应用程序的优化。

[ 本帖最后由 ldl196 于 2010-6-4 07:19 编辑 ]
论坛徽章:
86
2015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11优秀写手
日期:2013-12-18 09:29:11日产
日期:2013-10-17 08:44:39马自达
日期:2013-08-26 16:28:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-23 16:55:51马上有房
日期:2014-02-19 11:55:14
发表于 2010-5-31 20:10 | 显示全部楼层
不考虑应用程序优化
如果楼主描述准确的话(重建索引后性能上升,运行一段时间后性能下降),那就定期重建索引呗。

使用道具 举报

回复
论坛徽章:
1
2010新春纪念徽章
日期:2010-03-01 11:20:05
 楼主| 发表于 2010-6-1 13:22 | 显示全部楼层
不到30分钟效率又下来了,这个job周期也太短了。。。

使用道具 举报

回复
论坛徽章:
73
2010新春纪念徽章
日期:2010-03-01 11:06:132011新春纪念徽章
日期:2011-02-18 11:43:332012新春纪念徽章
日期:2012-01-04 11:55:422013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:44:08马上有车
日期:2015-01-19 09:45:33最佳人气徽章
日期:2012-03-13 17:39:18ITPUB季度 技术新星
日期:2012-11-27 10:16:10问答徽章
日期:2013-10-23 15:13:22林肯
日期:2013-11-02 08:34:46
发表于 2010-6-1 13:39 | 显示全部楼层
A表要索引,B表不要。
更新好之后在建B表的索引。

另外:表的行数达千万级并不算多。中量。

[ 本帖最后由 XQKA 于 2010-6-1 13:40 编辑 ]

使用道具 举报

回复
招聘 : 数据库管理员
认证徽章
论坛徽章:
20
祖国60周年纪念徽章
日期:2009-10-09 08:28:00数据库板块每日发贴之星
日期:2011-02-20 01:01:01ITPUB季度 技术新星
日期:2011-04-02 10:31:09ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042012新春纪念徽章
日期:2012-01-04 11:54:26玉石琵琶
日期:2012-02-21 15:04:38最佳人气徽章
日期:2012-03-13 17:39:18ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:192013年新春福章
日期:2013-02-25 14:51:242011新春纪念徽章
日期:2011-02-18 11:43:33
发表于 2010-6-1 19:33 | 显示全部楼层
千万级别算小的了 。。。  为啥30分钟后就会很慢?

使用道具 举报

回复
论坛徽章:
1
2010新春纪念徽章
日期:2010-03-01 11:20:05
 楼主| 发表于 2010-6-4 07:20 | 显示全部楼层
原帖由 huanhuanlove 于 2010-6-1 19:33 发表
千万级别算小的了 。。。  为啥30分钟后就会很慢?


我也很奇怪的是为何30分钟左右就又会慢下来,index不至于30分钟rebuild一次吧。

使用道具 举报

回复
认证徽章
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期: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:142013年新春福章
日期:2013-02-25 14:51:24
发表于 2010-6-4 08:20 | 显示全部楼层
B如果只是插入,就不要index了。

建议作个10046 level 8的trace吧

使用道具 举报

回复
论坛徽章:
14
季节之章:冬
日期:2010-01-04 13:39:56季节之章:春
日期:2010-03-22 16:42:29ITPUB知识分享者
日期:2010-06-28 10:02:43季节之章:夏
日期:2010-07-16 09:20:442010世博会纪念徽章
日期:2010-07-22 11:35:022010世博会纪念徽章
日期:2010-08-09 10:41:19ITPUB季度 技术新星
日期:2010-08-31 10:47:25季节之章:秋
日期:2010-12-10 16:23:30ITPUB官方微博粉丝徽章
日期:2011-07-20 17:06:48
发表于 2010-6-6 22:03 | 显示全部楼层
mark

使用道具 举报

回复
求职 : 数据库管理员
认证徽章
论坛徽章:
32
生肖徽章2007版:狗
日期:2009-07-20 17:10:18茶鸡蛋
日期:2013-05-23 16:34:43茶鸡蛋
日期:2013-07-19 14:39:22ITPUB社区千里马徽章
日期:2013-08-22 09:58:03雪铁龙
日期:2013-08-23 13:04:11林肯
日期:2013-09-04 14:07:20兰博基尼
日期:2013-09-16 13:45:20马上有钱
日期:2014-05-14 14:07:392014年世界杯参赛球队: 波黑
日期:2014-07-03 13:24:39马上有对象
日期:2014-10-30 14:04:32
发表于 2010-6-6 22:29 | 显示全部楼层
性能呈现周期性的退化,建议楼主跟踪一下数据库的活动。在处理过程变慢的时候看一下OS性能记数器有什么变化。

使用道具 举报

回复
论坛徽章:
86
2015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11优秀写手
日期:2013-12-18 09:29:11日产
日期:2013-10-17 08:44:39马自达
日期:2013-08-26 16:28:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-23 16:55:51马上有房
日期:2014-02-19 11:55:14
发表于 2010-6-7 08:42 | 显示全部楼层
建议将更新列、索引列的情况大概描述一下。

使用道具 举报

回复

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

本版积分规则 发表回复

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