楼主: liliangryan

[讨论] 如何提高delete的速度?

[复制链接]
论坛徽章:
4
生肖徽章2007版:鼠
日期:2009-03-10 21:12:51CTO参与奖
日期:2009-03-23 11:00:182012新春纪念徽章
日期:2012-01-04 11:54:26ITPUB社区OCM联盟徽章
日期:2015-07-22 13:37:53
11#
发表于 2009-3-18 22:51 | 只看该作者
同 anlinew 问
删除数据的依据是什么?

使用道具 举报

回复
论坛徽章:
4
生肖徽章2007版:鼠
日期:2009-03-10 21:12:51CTO参与奖
日期:2009-03-23 11:00:182012新春纪念徽章
日期:2012-01-04 11:54:26ITPUB社区OCM联盟徽章
日期:2015-07-22 13:37:53
12#
发表于 2009-3-18 22:53 | 只看该作者
lz 能否 把问题描述的稍微再详细一些 具体一些

使用道具 举报

回复
论坛徽章:
0
13#
 楼主| 发表于 2009-3-20 00:26 | 只看该作者
原帖由 jcq0 于 2009-3-18 22:53 发表
lz 能否 把问题描述的稍微再详细一些 具体一些


大概是这样的:每人每次操作都会在这个表中记录数据,但对每一个人而言,当天最后一条数据以外的数据属于履历数据,可以删除。
原表对两个字段都建有索引,另外Oracle版本是10g2。

在google上仔细读过“如何给Large Delete操作提速近千倍?”的文章,不过很遗憾,似乎没有效果,看来还需要再琢磨。

使用道具 举报

回复
论坛徽章:
97
ITPUB元老
日期:2008-06-30 12:48:39暖羊羊
日期:2015-03-04 14:50:372015年新春福章
日期:2015-03-06 11:57:312010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19林肯
日期:2013-10-31 12:31:382013年新春福章
日期:2013-02-25 14:51:24
14#
发表于 2009-3-20 09:31 | 只看该作者
何不把每人的最后一条移除呢. 这样数据就行对较少了.

使用道具 举报

回复
招聘 : Java研发
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14蜘蛛蛋
日期:2012-12-26 18:16:01茶鸡蛋
日期:2012-11-16 08:12:48ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:网球
日期:2012-08-23 14:58:08奥运会纪念徽章:沙滩排球
日期:2012-07-19 17:28:14版主2段
日期:2012-07-07 02:21:02咸鸭蛋
日期:2012-03-23 18:17:482012新春纪念徽章
日期:2012-02-13 15:13:512012新春纪念徽章
日期:2012-02-13 15:13:51
15#
发表于 2009-3-20 10:58 | 只看该作者
原帖由 liliangryan 于 2009-3-20 00:26 发表


大概是这样的:每人每次操作都会在这个表中记录数据,但对每一个人而言,当天最后一条数据以外的数据属于履历数据,可以删除。
原表对两个字段都建有索引,另外Oracle版本是10g2。

在google上仔细读过“如何给Large Delete操作提速近千倍?”的文章,不过很遗憾,似乎没有效果,看来还需要再琢磨。

把表结构贴出来,delete语句贴出来。。。。。

使用道具 举报

回复
招聘 : Java研发
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14蜘蛛蛋
日期:2012-12-26 18:16:01茶鸡蛋
日期:2012-11-16 08:12:48ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:网球
日期:2012-08-23 14:58:08奥运会纪念徽章:沙滩排球
日期:2012-07-19 17:28:14版主2段
日期:2012-07-07 02:21:02咸鸭蛋
日期:2012-03-23 18:17:482012新春纪念徽章
日期:2012-02-13 15:13:512012新春纪念徽章
日期:2012-02-13 15:13:51
16#
发表于 2009-3-20 11:01 | 只看该作者
两个字段,至少一个需要用来记录人员信息,另一个用来记录操作序号
这设计有些意思

使用道具 举报

回复
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
17#
发表于 2009-3-20 11:12 | 只看该作者
可以考虑是否有用range partition的可能

使用道具 举报

回复
论坛徽章:
3
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
18#
发表于 2009-5-13 17:59 | 只看该作者
我看上面说的nologging意思应该是把你要删除数据的表的属性改成nologging吧

使用道具 举报

回复
论坛徽章:
3
生肖徽章2007版:鼠
日期:2008-01-02 17:35:53祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52
19#
发表于 2009-5-13 21:47 | 只看该作者
删的依据是什么?能在插入的时候就知道这条记录需要不需要删除吗?

使用道具 举报

回复
论坛徽章:
0
20#
发表于 2009-5-20 09:53 | 只看该作者

回复 #1 liliangryan 的帖子

也许100w条 commit 一次太多了,你可以看看平均每秒处理多少条,设置个更合理的commit条数

使用道具 举报

回复

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

本版积分规则 发表回复

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