拆分一个查询语句
另一个分解查询的方法是分步解决。本质上来说是相同的,但是不一样的是,运行较小的数据块,这样会影响较少的行。
在没有比删除旧数据更好的例子了。删除旧数据需要删除大量的数据,并且如果用一个大语句那么做的话会导致长时间锁定太多的行,写满了事物日志,独占的资源,并且阻塞了一些语句。拆分这个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语句之间添加一个停留的时间。这样做是为了通过时间降低负载并且减少锁所占用的时间。
分享到:
相关推荐
在构建和运行大型Java网站的过程中,性能优化是至关重要的,它直接影响着用户体验、服务器资源的利用率以及业务的可扩展性。本实战指南将探讨从前端网络到后端大促的全链路性能优化策略,旨在提升网站的整体效率。 ...
综上,本资料包提供的优化方案涵盖了SQL语句编写、数据库架构设计、硬件配置等多个方面,旨在帮助读者在应对大规模数据时,构建出高效、稳定的数据库系统。通过对这些知识的理解和实践,开发者和架构师能够更好地...
通过分析SQL Server的传统查询优化技术,并结合面向对象思想构建了一个包含七个抽象类的面向对象模型,用户可以利用这些类定义的对象来创建、删除、组合或拆分,从而达到优化SQL Server查询性能的目的。 #### ...
分布式搜索引擎在处理几十亿数据量级的场景时,面临着巨大的挑战,主要集中在查询性能优化、数据分布与索引构建、负载均衡以及系统扩展性等方面。本文将深入探讨这些关键知识点。 首先,对于查询性能优化,分布式...
MySQL性能优化与架构设计是数据库管理员、开发人员和系统管理员关注的重要领域,因为数据库性能直接影响到应用程序的响应速度和整体用户体验。本资料提供了一个全面的视角,深入探讨了如何优化MySQL的性能并进行有效...
Oracle数据库性能优化是一个关键的议题,它涉及到多个层面,包括数据库设计、SQL语句优化以及应用程序性能改进。本文将深入探讨这些方面,以帮助提升Oracle数据库系统的整体效率。 首先,数据库性能优化始于设计...
2. **合理拆分语句**:将一个复杂的查询语句拆分成多个简单的子查询,并通过连接操作组合起来。这样不仅可以提高代码可读性,还能有效提升查询效率。 3. **优化索引使用**:为经常出现在WHERE子句中的字段创建索引,...
- 拆分复杂查询:将复杂的多表联接查询拆分为多个简单的查询。 5. **利用更多资源(增加资源)** - **定义**:当上述所有优化措施都已实施但仍无法满足性能需求时,考虑增加硬件资源。 - **常见手段**: - 扩展...
SQL Server数据库性能优化是一个复杂的过程,涉及到多个层面的工作。通过对死锁、查询速度慢等问题的理解和针对性的解决方案的应用,可以显著提高数据库的整体性能。同时,合理的设计存储过程、优化索引管理和使用...
在进行查询优化时,一个重要的方法是改写查询语句,以使得数据库执行计划更高效。改写技巧可能包括使用不同的SQL结构,如子查询转换为连接(JOINs),或者使用分析函数代替某些分组操作。 2. 实例优化 实例优化通常...
第15章 RAC稳定性与性能优化 15.1服务器硬件 15.1.1 Firmware固件升级 15.1.2硬件设备兼容性 15.1.3 FC HBA卡冗余 15.1.4 Infiniband技术 15.1.5 RAC硬件结构案例 15.2操作系统 15.2.1认证操作系统 15.2.2...
《JBoss性能优化整合》是一份深度探讨Jboss应用服务器性能提升的重要资料,它集结了作者反复试验与研究的心得,旨在为读者提供实用而全面的优化策略。Jboss作为一款开源的企业级Java应用服务器,其性能表现直接影响...
在Java开发过程中,性能优化是不可或缺...总结起来,Java性能优化是一个综合性的过程,涉及到代码编写、系统设计、资源管理等多个层面。通过对这些知识点的学习和实践,开发者能够构建出更加高效、稳定的Java应用程序。
MySQL性能优化是数据库管理中的关键环节,对于提升整个系统运行效率具有重大意义。在PHP高级开发工程师的工作中,深入理解并掌握MySQL的性能优化技巧,能够显著提高应用程序的响应速度和用户体验。架构设计在此过程...
在描述中提到了一个博客链接,虽然没有具体内容,但我们可以推测博主可能讨论了如何优化此类操作以提高程序性能。 字符串连接在Java中主要有两种方式:使用加号`+`操作符和使用`StringBuilder`或`StringBuffer`类。...
### 软件工程中的架构设计与性能优化技巧讲解 #### 第1章 简介 **1.1 软件工程概述** 软件工程是一种系统化的、规范的方法论,旨在利用工程原理、方法和工具对软件开发过程进行管理。其核心目标在于提高软件产品...
Dubbox是Dubbo的升级版,是一个高性能的RPC框架,用于构建分布式应用,提供高性能和透明化的RPC远程服务调用方案。 在SSM+Dubbox框架下,通过整合缓存、分面查询和Solr搜索技术,可以实现电商推荐系统中查询的优化...
总结,大流量Web系统的性能优化是一个涉及前端、后端、架构等多个层面的系统工程。从减少HTTP请求、优化数据库到采用微服务架构、负载均衡,再到监控与调优,每一步都至关重要。只有综合运用这些技术,并持续关注和...