• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

在6千万条数据库里,小弟我要保留最近10天数据,其余数据删除

php 搞代码 3年前 (2022-01-24) 19次浏览 已收录 0个评论

在6千万条数据库里,我要保留最近10天数据,其余数据删除。
sid | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| userid | int(10) unsigned | NO | MUL | 0 | |
| sip | bigint(12) unsigned zerofill | NO | MUL | NULL | |
| stime | int(10) unsigned | NO | MUL | NULL | |
| stype | tinyint(1) unsigned | NO | MUL | NULL | |
| keyword | char(80) | NO | MUL | NULL |

DELETE FROM search WHERE stime<='1325350861';
用这一条数据,我删了很久,都没有反映,请问一下,我该怎么操作一下,实现我的需求。

——解决方案——————–
分批
mysql> delete from bit_dcsval where insert_datetime<'2009-10-01' order by insert_datetime limit 10000;
Query OK, 10000 rows affected, 1 warning (3 min 48.40 sec)

上面是网上的例子
——解决方案——————–
如果6千万数据中,10天的数据仅仅占一小部分,建议将这部分select into到一张新表里,然后将原来的表truncate掉,之后再将新表rename成原来的表

顺利的话,估计只要几秒钟。

truncate操作是效率最高的,当然也不可恢复。
——解决方案——————–
出的是什么错?

DELETE TABLE search;
RENAME TABLE search_tmp TO本&文来源gao@daima#com搞(%代@#码网@ search;

这样呢?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在6千万条数据库里,小弟我要保留最近10天数据,其余数据删除

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址