mysql获取删除的条数_如何从mysql表中删除数百万条记录而不会减速
有没有一种很好的方法来删除很多记录而不会减慢网站的速度?
我需要从没有索引和主键的MySQL表中删除数百万条记录。我阅读了SO和网上的各种教程,基本策略是限制删除查询,在删除之间休眠一两秒钟,然后重复此过程直至完成。我也(使用PDO)在完成所有循环后运行提交。
上周工作正常,但每次我运行脚本时,数据库都放慢了速度,我们收到很多关于网站速度缓慢的抱怨等。这是在Miva Merchant篮子表上,并不是真的很重要。
我几乎完成了桌子的修整工作,所以我可以通过它完成。但是一定有更好的办法......?
这里是相关的代码:
$database->beginTransaction();
$selectLimit = 4900; // mysql will lock the entire table at 5000+.....
$loopLimit = 10;
$date = "1456272001"; // 2016-02-24
for( $i = 0; $i < $loopLimit; $i++ ) {
$startTime = time();
$oldBaskets = $database->prepare("DELETE FROM s01_Baskets WHERE CAST(lastupdate AS UNSIGNED) < '" . $date . "' LIMIT " . $selectLimit . "");
if ( $oldBaskets->execute() ) {
$deletes = $oldBaskets->rowCount();
$totalDeletes += $deletes;
$duration = time() - $startTime;
echo "\ndeleted '" . $deletes . "' entries";
echo "\n-- took '" . $duration . "' seconds";
}
sleep(2);
}
$database->commit();
相关文章:
某大型银行深化系统之二十:异常规范
传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 1异常抛出与捕捉规则 1.1任何抛出异常的方法必须先声明异常 {// Constructorpublic MyClass( String name ) throws NullPointerException, llegalArgumentException {...} } 1.2异常声明后…

女朋友的Mysql练习题
2019独角兽企业重金招聘Python工程师标准>>> 一、设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher…

中国电子学会图形化四级编程题:解密
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…

python函数模块概念_python中模块和包的概念
1.模块一个.py文件就是一个模块。这个文件的名字是:模块名.py。由此可见在python中,文件名和模块名的差别只是有没有后缀。有后缀是文件名,没有后缀是模块名。每个文件(每个模块)都是一个独立的名称空间,也就是说可以在两个(多个)…

linux-glibc内存管理小结2(内存相关系统调用的实现)
在上一节ptmalloc源码分析中我们提到dlmalloc向系统申请内存的方式有两种, 对应Linux系统下分别是sbrk()与mmap()系统调用. 本节我们就来看下brk()/sbrk()与mmap()/munmap()的实现, 作为切入点来一窥内核内存管理的特点. 在正文开始之前我们先大致描述一下内核内存管理的模型. …

【组队学习】【30期】7. CV中的Transformer
CV中的Transformer 航路开辟者:安晟领航员:尚育鹏航海士:安晟、袁明坤、闫永强 基本信息 开源内容:https://github.com/datawhalechina/dive-into-cv-pytorch [第六章]内容属性:打磨课程内容说明:17年在…

天堂Lineage(單機版)從零開始架設教學
此篇文章 內容大部份連結 已失效, 我已另外寫一篇更快速安裝的文章。 前言: 網路遊戲天堂在數年前,被日本人分析封包的方式。模擬出Lineage server端的行為。 不像天堂II,及RO是由內部洩漏出Server端程式。也由於天堂Server的熱門以至於私服人…

python爬虫天气实例scrapy_python爬虫之利用scrapy框架抓取新浪天气数据
scrapy中文官方文档:点击打开链接Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试,Scrapy吸引人的地方在于它是一…

中国电子学会图形化四级编程题:绘制雪花
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…

C++ Primer 读书笔记 - 第十三章
1. Initialization和Assignment不一样。其中Initialization包括direct-initialization (如A a(...))和copy-initialization (如 A a b;) 注意A a b为copy-initialization, 而A a; A b; a b;为Assignment。 2. We cannot copy objects of the IO types, so we can…

Linux-LNMP(静态元素不记录日志和过期时间,防盗链,解析php,代理,支持ssl)
Linux-LNMP-Nginx配置二 静态文件不记录日志和过期时间Nginx防盗链Nginx访问控制Nginx解析php相关配置Nginx代理Nginx负载均衡SSL原理生成SSL密钥对Nginx配置SSL静态文件不记录日志和过期时间在Nginx服务器的虚拟主机配置文件(/usr/local/nginx/conf/vhost/norecord.conf)中定义…
mysql数据库优化命令_MySQL数据库优化总结
一个:MySQL标准数据库优化注意事项1.数据库设计(表设计合理)三范式(规范的模式)三范式包含:第一范式:1NF是对属性的原子性的约束。要求属性具有原子性,不可再分解。(仅仅要是关系型数据库都满足)第二范式:2NF是记录的唯…

C++ 卸载程序
目的:用C写一个自己的卸载程序来完成程序的卸载工作,同时运行后要删除卸载程序本身,并删除卸载程序所在的文件夹。 注:在程序退出的时候写上 自己的卸载代码。 // FileName: Uninstall.h #pragma onceclass CUninstall { private:…

《火星救援VR》原班人马打造全新AR游戏,让可爱小飞龙伴随你左右
曾开发了《火星救援》的VR团队即将发布AR游戏《Follow Me Dragon》,让可爱小飞龙“融入”真实世界。 开发商The Virtual Reality Company曾经打造过风靡一时的《火星救援》VR游戏。今日,他们刚刚发布了一款名为《Follow me Dragon》的AR游戏。 目前&…

【组队学习】【30期】时间序列分析
时间序列分析 航路开辟者:李岳昆、易远哲领航员:王洲烽航海士:李岳昆、易远哲 基本信息 开源内容:https://github.com/datawhalechina/team-learning-data-mining/tree/master/TimeSeries内容属性:打磨课程内容说明…

mysql二进制日志管理_MYSQL二进制日志管理脚本
MYSQL二进制日志管理脚本脚本原理是每小时对进行flush生成新的二进制日志,将二进制日志备份至NFS,并压缩存放:#!/bin/bash#Purpose:管理二进制日志,每小时刷新二进制日志,并将日志复制到nfs服务器上,方便以…

iPhone App开发实战手册学习笔记(5)之IOS常用机制
1 前言 在IOS开发中,相信大家一定听说过委托,数据源,target,action等等,今天我们就来简单的学习一下这些内容。 2 详述 2.1 委托和数据源 大家是否曾经有不知道如何去执行一项任务的时候?或许是修理一台洗碗…

Datawhale组队学习周报(第035周)
希望开设的开源内容 目前Datawhale的开源内容分为两种:第一种是已经囊括在我们的学习路线图内的Datawhale精品课,第二种是暂未囊括在我们的学习路线图内的Datawhale打磨课。我们根据您的投票来确定精品课程的排期,打磨课程一旦完成ÿ…

【Project Euler】530 GCD of Divisors 莫比乌斯反演
【题目】GCD of Divisors 【题意】给定f(n)Σd|n gcd(d,n/d)的前缀和F(n),n10^15。 【算法】莫比乌斯反演 【题解】参考:任之洲数论函数.pdf 这个范围显然杜教筛也是做不了的,而且考虑直接化简f(n)也遇到了困难,所以考虑将前缀和的…

php mysql 星级评分_jQuery+PHP实现星级评分
本例实现的效果:过渡动画显示评分操作。及时更新平均得分和用户所评的分数。后台限制用户重复评分操作,并在前端及时显示。XHTMLHTML结构分为用于显示灰星星div#big_rate、亮星星div#big_rate_up、分数span#s及span#g和提示信息div#my_rate。CSS.rate{wi…

Xt800、DEFY自带号码归属地更新包,更新至2013.4【数据总数278360条】
总结了http://bbs.gfan.com/forum.php?modviewthread&tid5603346&extrapage%3D1&page1和http://bbs.mfunz.com/thread-706813-1-1.html,经测试在我的XT800上可用,可以把其他的第三方来电软件通通删掉了。 特点:能够显示运营商&a…

中国电子学会图形化四级编程题:程序优化
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…

当代艺术遇上虚拟现实:幻境视界打造基业VR美术馆
VR展览也许并不少,但专业的艺术展却难得一见。幻境世界周志强希望能借助VR技术,实现“一地办展、全球同展、永不闭馆”,更好地传播当代艺术。 从米开朗琪罗到库尔贝,再到雷诺阿,大师们不断找到新的艺术语言来阐释人体…

python二叉搜索树建立_700. 二叉搜索树的搜索(Python)
题目难度:★☆☆☆☆类型:二叉树给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树:4/ \2 7/ \1 3和值: 2你应该返回…

CF484E Sign on Fence
题意 给定一个长度为n的数列,有m次询问,询问形如l r k 要你在区间[l,r]内选一个长度为k的区间,求区间最小数的最大值 Sol 二分答案 怎么判定,每种数字开一棵线段树 某个位置上的数大于等于它为1 那么就是求区间最大的1的序列长度大…

【组队学习】【30期】吃瓜教程——西瓜书+南瓜书
吃瓜教程——西瓜书南瓜书 航路开辟者:谢文睿、秦州领航员:邱振波航海士:谢文睿、秦州 基本信息 开源内容:https://github.com/datawhalechina/pumpkin-bookB 站视频:https://www.bilibili.com/video/BV1Mh411e7VU内…

如何破解压缩文件密码-省时省力的方法
压缩文件破解工具下载地址:http://www.cnblogs.com/spring_wang/archive/2013/06/14/3135163.html 应该很多人都碰到过RAR加密、解密的问题吧。简单给大家介绍下如何用工具来破解RAR密码!我们所利用的工具,就是“ARPR”、相信有些人肯定知道。…

学完javase和mysql_Java基础学完接下来应该学什么呢?
谢谢邀请!Java基础部分涵盖了类、对象、属性和方法四大概念,以及封装、继承、多态的理解及使用。Java基础部分是Java学习过程中相对来说比较难的部分,Java语言属于开头难,之后越学越简单的语言。基础部分要清晰Java面向对象的开发…

Linux文件分割与合并:splitcat(转载)
转自:http://os.51cto.com/art/201104/255359.htm Linux下文件分割可以通过split命令来实现,而用cat进行文件合并。而分割可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。 在Linux下用split进行文…

【组队学习】【30期】李宏毅机器学习(含深度学习)
李宏毅机器学习(含深度学习) 航路开辟者:王茂霖、陈安东,刘峥嵘,李玲领航员:初晓宇航海士:王茂霖 基本信息 开源内容:https://github.com/datawhalechina/leeml-notes开源内容&am…