原文链接:关于数据库查询效率
http://www.12306ng.org/forum.php?mod=viewthread&tid=1249&fromuid=2768
一般向数据库发出查询请求,到客户端返回结果,中间经历验证、缓存、查询、序列化、网络传输等等多个环节和多个层次,每个环节都会带来性能的损失,抛开其它,简单谈谈数据库查询。首先,数据表的建立要非常讲究,索引字段也非常重要,表中该包含哪些字段、不该包含哪些字段?选择什么类型、长度,哪些字段要建立索引?建立什么类型的索引?哪些不能建立,数据表要怎样分区,采用什么分区策略,都要要考虑清楚,不能随便,特别是在千万级以上的海量数据、大并发的情况,对性能的影响更为明显。通过区分核心信息,合理的建立表结构,使页包含尽可能多的行,使查询可以包含多个数据页,以减少查询的IO。索引也是一样。
影响到系统性能的不外乎以下硬件因素或软件因素,硬件方面一般是添加更多的服务器到服务器池,采用负载均衡等等,这个牵涉到架构方面的内容,暂且不谈,软件方便一般使用以下步骤:
1.确定最佳实现方案
首先,从实际的业务需求出发,找出最佳实现方案,就是说,一定要确保方向的正确性。不同的实现方案会有不同的效率,选择最佳的实现方案是成功的第一步,也是最关键的一步。
2.一般情况下,影响服务器性能的主要瓶颈在IO上,所以减少IO操作是首要考虑的,为了减少IO,一是要减少查询结果和查询中间结果的数据量,大的数据量意味着大的IO操作,利用合理的查询逻辑,查询条件和索引,来降低操作的数据量,以明显减少IO。这里查询条件的合理利用和索引的合理利用是关键。
前端的实现要尽可能的精简,保证客户端到服务器之间的网络通讯量尽量减少,中间实现的业务逻辑及其他层要高效,这个要求精炼的业务处理算法和尽量小的性能损耗。数据库层面查询要采用最优化的语句执行计划,结合缓存、负载均衡技术等其它技术来提升查询效率,改善用户体验。
分享到:
相关推荐
- **硬件升级**:提升硬件配置,如增加内存、使用更快的硬盘,也能有效提高数据库性能。 - **数据库架构设计**:遵循 normalization 规范,合理设计表关系,减少冗余数据。 综上所述,数据库性能优化是一个涉及多...
不过,过大或过小的共享池都可能导致性能下降,因此需要合理设定,如系统内存为1G时,共享池建议设为150M-200M,并随内存增加适当增加,但最大不超过500M。 其次,SQL语句的优化是另一个关键领域。理解Oracle处理...
通过使用Javauser结合Loadrunner进行数据库性能测试,不仅可以提高测试的灵活性和通用性,还能更好地模拟真实应用场景。这种方法尤其适合于那些需要高度定制化测试场景的情况。随着技术的发展,未来可能会出现更多...
3. 存储设备:采用高性能的存储设备如 SSD,减少 I/O 瓶颈,提高数据库读写速度。 二、数据库设计优化 1. 规范化:通过表的规范化来减少数据冗余和改善查询性能。规范化可以帮助减少表的大小,降低查询复杂度,...
本文档提供了 SQL2000 数据库优化及安全建议,以帮助数据库管理员和开发者提高数据库性能和安全性。 数据库优化 数据库优化是数据库管理员和开发者需要关注的重要步骤。数据库优化可以提高数据库性能,减少查询...
数据库性能调优是一项旨在提高数据库响应速度和整体性能的关键技术,其核心目标是确保系统运行更加高效。 调优本身是一个综合性极强的工作,涉及到多个层面的知识和技术。一方面,它并不复杂到需要深入理解复杂的...
书中给出了具体的步骤指导读者如何利用ADDM来提高数据库性能。 **2. 性能诊断** - **SQL性能分析器**:本书介绍了如何使用SQL性能分析器来识别慢查询并分析其性能瓶颈,这对于提高查询效率非常有帮助。 - **事件...
4. **硬件升级**:增加内存、提升CPU性能或增加CPU数量都是提高数据库性能的有效方法。确保虚拟内存设置合理,通常是物理内存的1.5倍,如果使用全文检索,可能需要更大的虚拟内存。 5. **网络优化**:提高网络速度...
虽然高性能的硬件是提高数据库性能的基础,但在软件层面上的优化同样重要。例如,合理分配表在不同磁盘上的存储位置,可以有效利用多磁盘的优势,提高数据的读写速度。 **实践建议**: - 将大型表和经常访问的表...
在现代企业中,数据量日益庞大,对数据库性能的要求也日益提高,因此,自动性能诊断成为了保障业务流畅运行的关键。 数据库性能诊断通常包括监控、分析和优化三个主要环节。首先,通过监控数据库的运行状态,收集如...
SQL数据库性能调优是数据库管理和开发中的重要环节,旨在提高数据查询速度、降低资源消耗,提升系统的整体响应时间和处理能力。以下将详细阐述这一领域的关键知识点: 1. **设定性能目标**:在进行性能调优前,首先...
Oracle 19c数据库性能优化是一项关键任务,旨在确保数据库高效稳定运行,减少资源消耗,尤其是I/O资源的访问频率和存储空间。本文主要探讨了SQL调优和索引管理两个核心方面。 首先,Oracle数据库的优化器是性能优化...
SQL是所有关系型数据库的基础,优化SQL查询是提高数据库性能的关键。工具如SQL Server Profiler、PL/SQL Developer等能帮助追踪和分析SQL执行,识别慢查询并提供改进建议。通过分析查询执行时间、读取的磁盘I/O和CPU...
SQL Server 数据库性能优化技巧 设计一个应用系统似乎并不难,但是要想使系统达到最优化的性能并不是一件容易的事。在开发工具、数据库设计、应用程序的结构、查询设计、接口选择等方面有多种选择,这取决于特定的...
Oracle 10G数据库性能监控与优化是数据库管理员在日常工作中必须掌握的关键技能。Oracle数据库的性能直接影响到应用程序的响应速度和整体系统效率。以下是一些核心知识点的详细解释: 1. **表空间使用率监控**: ...
SQL查询优化是提高数据库性能的重要手段。通过分析执行计划,调整SQL语句,比如添加必要的索引、使用合适的连接算法、合理的表关联顺序等,可以有效减少查询时间,提升查询效率。 2. 内存优化 内存优化主要涉及到...
《数据库性能调优原理与技术》一书深入探讨了数据库系统在设计、实施、管理和应用过程中涉及的关键性能优化策略。本书特别关注了三大主流数据库产品——DB2、Oracle和SQL Server,通过丰富的实证案例,展示了如何...
### 提高数据库查询效率 在当今信息化社会,随着数据量的激增,如何高效地管理和查询数据成为了一个亟待解决的问题。特别是在面对千万级甚至更大的数据集时,提高数据库查询效率变得尤为重要。本文将从数据库设计与...
动态管理视图可以用来监控当前的活动,如长时间运行的查询、等待类型、锁争用等,也可以用来获取历史数据,以分析和优化数据库性能。 标题中提到的“DMVs(数据库性能分析)”是指出,动态管理视图是分析和优化数据库...
本文并不是对数据库设计原则作系统而详尽的阐述,而是根据作者这几年的经验,在数据库性能优化方面提出以下几点建议,以供大家参考。 一、合理冗余 在数据库设计时,为保证数据的完整性,提倡尽量少的数据冗余。...