拆分一个查询语句
另一个分解查询的方法是分步解决。本质上来说是相同的,但是不一样的是,运行较小的数据块,这样会影响较少的行。
在没有比删除旧数据更好的例子了。删除旧数据需要删除大量的数据,并且如果用一个大语句那么做的话会导致长时间锁定太多的行,写满了事物日志,独占的资源,并且阻塞了一些语句。拆分这个DELETE语句并且使用数量合适的删除语句可以提高性能,并且当一个语句被复制也会降低复制的延迟。举个例子。。
mysql> DELETE FROM messages WHERE created < DATE_SUB(NOW( ),INTERVAL 3 MONTH);
你可以使用下面的方式来拆分。。(伪码)
rows_affected = 0
do {
rows_affected = do_query(
"DELETE FROM messages WHERE created < DATE_SUB(NOW( ),INTERVAL 3 MONTH)
LIMIT 10000")
} while rows_affected > 0
删除10000行这个数据量可以使每个语句都很有效率,并且每个短小的语句对服务器的影响也非常之小(一个更小的事物在事物引擎中可以得到更多的好处)。还有个好方法就是在DELETE语句之间添加一个停留的时间。这样做是为了通过时间降低负载并且减少锁所占用的时间。
分享到:
相关推荐
--查询一个表的所有外键 --存储过程语句查询 --2、普通行列转换 --3、字符串相关操作 --3.1提取字符串中不同类型字符 --提取数字 --提取英文 --提取中文 --3.2 从字符串中取固定数量的字段 --3.3 关于字符串拆分 --...
传统的性能优化往往只注重一个技术指标, 最终的业务结果很难量化。本次演讲向大家介绍一个基于大数据准确度量性能对电商业务的回报的方法。也就是说,任何一个微小的局部性能优化(investment)带来的新增订单...
行业分类-设备装置-一种数据写入方法及拆分装置
在VB 中执行SQL语句时,经常会出现SQL 语句太长 (我测的不能超过40000字符)而使得SQL语句在VB 程序中不能成功执行,但在SQL 查询分析 器中是可以执行的,为解决这个问题,开发了这个函数。
行业文档-设计装置-通用DWG图纸快速拆分方法
黑马程序员-SpringCloud-学习笔记-02-微服务拆分及远程调用
行业文档-设计装置-一种可拆分碳素笔芯.zip
行业文档-设计装置-一种可拆分双层纸杯.zip
行业分类-设备装置-小型葡萄分解拆分装置及加工方法.zip
行业分类-设备装置-一种可拆分式笔记本、平板二合一电脑.zip
电子政务-拆分废旧电路板的方法.zip
有许多技术可用于服务器优化,方法是通过在对等服务器之间分配负载来增强可用性。 据我们所知,没有人在整个OSI模型中实现这种拆分架构。 在本文中,我们介绍了多层拆分协议(MLSP),一种跨OSI模型吐出应用程序或...
行业资料-交通装置-一种可拆分的LED轨道灯.zip
谈如何构建易于拆分的单体应用.pdf
51单片机-C语言for语句do...while语句if...else...语句产生随机数rand()常用基本语句例程源码 do...while语句 for语句 if...else...语句 switch-case-break语句 while与do...while区别 while语句 不同类型数据的差异...
行业资料-交通装置-一种可拆分的便于运输式篮子.zip
行业资料-交通装置-一种可拆分式图书分类手推车.zip
行业资料-交通装置-一种可拆分的便于运输式桶.zip
行业资料-交通装置-一种可拆分式摩托车保险杠.zip
4.6 基于集合的方法和迭代/过程方法的比较,以及一个优化练习2 4.7 总结 第5章 算法和复杂性 5.1 你有一个1夸特的硬币吗? 5.1.1 如何从零钱罐中取回1夸特钱 5.1.2 有时零钱罐中没有1夸特的硬币 5.2 如何度量...