喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: [问题] mysql高效匹配一定条件记录的删除批量记录?谢谢!!  
 
smilesoul (smilesoul)
注册会员
Rank: 2
初级会员



UID 31553
精华 0
积分 113
帖子 76
金钱 113 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2004-9-29
来自 湖北荆州
状态 离线
mysql高效匹配一定条件记录的删除批量记录?谢谢!!

比如有一个表有2亿条记录,而满足一定条件的记录,我想把它删除了。

大家可以讨论讨论,谢谢!!!
2008-7-17 09:25 AM#1
查看资料  发短消息  QQ . .   顶部
 
unspace (未知空间)
版主
Rank: 7Rank: 7Rank: 7
百万富翁


UID 67567
精华 0
积分 104940
帖子 5284
金钱 103836 喜悦币
威望 0
人脉 1104
阅读权限 100
注册 2005-12-28
来自 吉林
状态 离线
[推荐阅读] 【北京易登网】招聘Senior Engineer高级软件开发工程师
尽量用到索引删除

问一下,要删的数据大概有多少条
可以按某一分类一类一类的删
如果被删的很多,可以部分删除,再删除
如果被删的超级多,把不删的导到另一个表吧

如果数据库可以暂时无查询最好不过了,写好sql让它执行去吧,执行个几小时

[ 本帖最后由 unspace 于 2008-7-17 09:31 AM 编辑 ]




7月1日起,北京市低保、最低工资标准、失业保险、工伤保险、基本养老金5项社会保障标准均将全部上调。其中,最低工资标准增加70元,提高到800元。
2008-7-17 09:29 AM#2
查看资料  访问主页  Blog  发短消息  顶部
 
smilesoul (smilesoul)
注册会员
Rank: 2
初级会员



UID 31553
精华 0
积分 113
帖子 76
金钱 113 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2004-9-29
来自 湖北荆州
状态 离线
[推荐阅读] 随机数概率问题


QUOTE:
原帖由 unspace 于 2008-7-17 09:29 AM 发表
尽量用到索引删除

问一下,要删的数据大概有多少条
可以按某一分类一类一类的删
如果被删的很多,可以部分删除,再删除
如果被删的超级多,把不删的导到另一个表吧

如果数据库可以暂时无查询最好不过了, ...
谢谢!有个疑问,像这样的最好是mysql进行小批量分批次删除好呢,还是交给程序去处理呢?

多谢指点。
2008-7-17 10:34 AM#3
查看资料  发短消息  QQ . .   顶部
 
carpenter (carpenter)
金牌会员
Rank: 6Rank: 6
高级会员



UID 15303
精华 0
积分 1095
帖子 1076
金钱 1095 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2002-7-17
来自 辽宁
状态 离线
[推荐阅读] 求一职
建议:
一般情况  delete table where id>=1 and id<=10
要比delete table where id=1 delete table where id=2 ...delete table where id=10快
但是数据多的时候就很难说。由于delete操作是要写日志的,如果你的日志空间够它就会不断的自动增长(如果有这个功能的话)这个时间是非常漫长的。这种情况下就是分成多部分删除快一些。

另外楼上说的转移有用的数据之后直接删表或用truncate table清数据的办法也不错。
2008-7-17 11:29 AM#4
查看资料  Blog  发短消息  QQ . .   顶部
 
carpenter (carpenter)
金牌会员
Rank: 6Rank: 6
高级会员



UID 15303
精华 0
积分 1095
帖子 1076
金钱 1095 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2002-7-17
来自 辽宁
状态 离线
[推荐阅读] 上海phper三年工作经验找工作


QUOTE:
原帖由 smilesoul 于 2008-7-17 10:34 AM 发表



谢谢!有个疑问,像这样的最好是mysql进行小批量分批次删除好呢,还是交给程序去处理呢?

多谢指点。
区别不是很大。如果要分成很多部分删除的话,程序会更方便一些。
2008-7-17 11:30 AM#5
查看资料  Blog  发短消息  QQ . .   顶部
 
unspace (未知空间)
版主
Rank: 7Rank: 7Rank: 7
百万富翁


UID 67567
精华 0
积分 104940
帖子 5284
金钱 103836 喜悦币
威望 0
人脉 1104
阅读权限 100
注册 2005-12-28
来自 吉林
状态 离线
[推荐阅读] 递归基础,用递归方法输出0-100
删之前,做好数据备份

删的时候,做好日志,删除最好不是只执行几次sql

对每个执行都做日志,并且执行完就写,而不是程序全执行完,再写log,万一中断中间你都不知道发生了什么

如果数据库没有什么压力,可以尝试写一条sql去删,然后睡觉等着,风险是否可以承受,自己要有准备




7月1日起,北京市低保、最低工资标准、失业保险、工伤保险、基本养老金5项社会保障标准均将全部上调。其中,最低工资标准增加70元,提高到800元。
2008-7-17 03:54 PM#6
查看资料  访问主页  Blog  发短消息  顶部
 
smilesoul (smilesoul)
注册会员
Rank: 2
初级会员



UID 31553
精华 0
积分 113
帖子 76
金钱 113 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2004-9-29
来自 湖北荆州
状态 离线
[推荐阅读] 求一个字符串的替换函数
谢谢各位!试试有没有好的办法,回头试出来给大家句话,共同提高!
2008-7-17 05:39 PM#7
查看资料  发短消息  QQ . .   顶部
 
孙小二
高级会员
Rank: 4



UID 77502
精华 0
积分 724
帖子 755
金钱 724 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-8-2
状态 离线
[推荐阅读] 周末去打网球
delete from table where 1=1



一个程序猿的技术文档    http://www.sunboyu.cn
lamper技术交流群,架构设计 lampper@live.cn(加此帐号为好友即可)
2008-7-18 01:09 PM#8
查看资料  访问主页  Blog  发短消息  QQ . .   顶部
 
unspace (未知空间)
版主
Rank: 7Rank: 7Rank: 7
百万富翁


UID 67567
精华 0
积分 104940
帖子 5284
金钱 103836 喜悦币
威望 0
人脉 1104
阅读权限 100
注册 2005-12-28
来自 吉林
状态 离线
[推荐阅读] 谁做过mysql群集?


QUOTE:
原帖由 孙小二 于 2008-7-18 01:09 PM 发表
delete from table where 1=1
你这还不如drop 或 TRUNCATE




7月1日起,北京市低保、最低工资标准、失业保险、工伤保险、基本养老金5项社会保障标准均将全部上调。其中,最低工资标准增加70元,提高到800元。
2008-7-18 02:14 PM#9
查看资料  访问主页  Blog  发短消息  顶部
 
c1a1o1
版主
Rank: 7Rank: 7Rank: 7
一品带刀护卫


UID 68669
精华 0
积分 8935
帖子 2356
金钱 8935 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-2-17
状态 离线
[推荐阅读] 诚聘php程序员(北京)
分批 删除 让程序 不急不缓地 执行 就是效率



生日礼物送什么www.feichanglipin.cn
生日礼物      补肾
2008-7-19 10:00 AM#10
查看资料  Blog  发短消息  QQ . .   顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.024097 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP