`
lfc_jack
  • 浏览: 144842 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

数据库优化的建议

 
阅读更多
1;应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。


2;应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描, 如: select id from t where num=10 or num=20 可以这样查询: select id from t where num=10 union all select id from t where num=20
in 和 not in 也要慎用,否则会导致全表扫描,如: select id from t where num in(1,2,3) 对于连续的数值,能用 between 就不要用 in 了: select id from t where num between 1 and 3

3;下面的查询也将导致全表扫描: select id from t where name like ‘%abc%’
应尽可能的避免更新索引数据列,因为索引数据列的顺序就是表记录的物理存储顺序,一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源。若应用系统需要频繁更新索引数据列,那么需要考虑是否应将该索引建为索引。

4;尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。


5;尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。
尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。

6;避免频繁创建和删除临时表,以减少系统表资源的消耗。
临时表并不是不可使用,适当地使用它们可以使某些例程更有效,例如,当需要重复引用大型表或常用表中的某个数据集时。但是,对于一次性事件,最好使用导出表。


7;在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert。



8;如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,这样可以避免系统表的较长时间锁定。
分享到:
评论

相关推荐

    SQL数据库优化工具

    当数据库性能下降时,"SQL数据库优化工具"就显得至关重要。这些工具能够帮助我们诊断问题、提高查询效率并优化整体数据库结构,确保系统运行顺畅。 一、SQL查询优化 SQL查询优化是数据库优化的关键部分,它涉及到...

    K3数据库优化方案K3数据库优化方案.docx

    ### K3数据库优化方案知识点详解 #### 一、概述 K3系统在长期使用过程中可能会出现性能下降的问题,这往往与数据库的维护不足有关。为了提高系统的响应速度和整体性能,需要定期对K3数据库进行优化。本文档将详细...

    SQL2000数据库优化及安全建议.doc

    SQL2000 数据库优化及安全建议 本文档提供了 SQL2000 数据库优化及安全建议,以帮助数据库管理员和开发者提高数据库性能和安全性。 数据库优化 数据库优化是数据库管理员和开发者需要关注的重要步骤。数据库优化...

    SQLServer数据库优化之50种方法

    ### SQL Server 数据库优化之50种方法 在IT领域,特别是对于数据库管理与优化方面,SQL Server作为一款广泛使用的数据库管理系统,其性能优化一直是DBA(数据库管理员)和技术团队关注的重点。本文将根据给定的信息...

    sql server 2005数据库优化方法

    在SQL Server 2005中,数据库优化是提高系统性能和效率的关键环节。本文将介绍两种主要的数据库优化工具:SQL Server Profiler和数据库引擎优化顾问(Database Engine Tuning Advisor),以及它们如何帮助DBA们更好...

    Oracle数据库优化策略

    综上所述,Oracle数据库优化是一个涉及多方面因素的综合工程,需要从数据库设计、SQL优化、配置调整、维护策略等多个角度进行深入研究和实践,才能充分发挥Oracle的潜力,为企业带来更高的数据处理效率。通过不断的...

    DB2数据库优化手册.doc

    DB2数据库优化手册是数据库管理和优化的重要手册,本手册涵盖了数据库备份、恢复、磁盘阵列设备使用等多方面的内容,为数据库管理员和开发者提供了详细的指导和建议。 数据库备份和恢复策略 数据库备份和恢复是...

    ORACLE数据库优化基础培训.zip

    2. **性能调优工具**:如SQL Tuning Advisor、Automatic Workload Repository (AWR)报告,提供性能优化建议。 3. **故障恢复**:理解RMAN备份和恢复机制,熟悉闪回技术,应对数据丢失或误操作。 4. **资源管理**:...

    sql数据库优化--使用索引优化存储过程

    在SQL数据库优化中,使用索引来优化存储过程是一个关键的策略,特别是在处理大量数据时。在这个特定案例中,原始的存储过程执行时间高达25秒,而在经过一系列的优化后,执行时间降低到3到4秒,显著提高了效率。 ...

    Oracle 数据库优化技术手册.pdf

    最后,Oracle性能优化建议遵循两个基本原则:WHERE子句中连接顺序的安排,以及避免在SELECT子句中使用通配符‘*’。在编写SQL语句时,应尽量按照自下而上的顺序来编写WHERE子句中的连接条件,并将能够过滤掉最多记录...

    db2数据库性能优化小技巧

    - **统计信息更新**:定期更新统计信息,帮助数据库优化器做出更好的执行计划决策。 #### 三、锁管理优化 锁机制是数据库并发控制的重要手段之一,不合理的锁设置可能会导致性能瓶颈。 #### 3.1 锁列表配置 - **...

    数据库优化方案

    在进行数据库优化时,首先需要理解优化的主要目的是为了提升数据库的查询效率,减少资源的消耗,保证数据处理的性能。数据库优化方案可以从多个方面入手,包括但不限于结构优化、查询优化、索引优化以及SQL语句优化...

    sqlserver数据库优化50法

    《SQLServer数据库优化详解》 SQLServer数据库优化是提升系统性能的关键步骤,尤其在处理大量数据和复杂查询时显得尤为重要。以下将详细阐述优化数据库的五十种方法,以解决查询速度慢的问题。 首先,了解查询速度...

    数据库优化方法论

    ### 数据库优化方法论 #### 一、引言:数据库优化的重要性 在当前信息化社会中,数据成为企业和组织的核心资产之一。随着业务规模的不断扩大和技术的快速发展,如何高效地管理和利用这些数据变得至关重要。数据库...

    oracle数据库优化大全(面试和学习都适用)

    "Oracle 数据库优化大全" Oracle 数据库优化是数据库管理系统中非常重要的一方面。一个高效的数据库系统可以大大提高系统的性能和可靠性。本文总结了 30 多条 Oracle 数据库优化的经验,涵盖了选择最有效率的表名...

    Oracle数据库优化

    **监控与性能诊断**:使用Oracle的性能监控工具如AWR(Automatic Workload Repository)、ASH(Active Session History)和ADDM(Automatic Database Diagnostic Monitor),可以帮助识别性能问题,提供优化建议。...

    数据库性能优化方案

    - **数据库调优顾问(DBMS_ADVISOR)**:利用内置工具分析数据库性能,提供优化建议。 - **绑定变量**:使用绑定变量避免解析SQL语句的开销,提高执行效率。 - **实时监控与AWR报告**:通过Automatic Workload ...

    oracle数据库优化报告.docx

    2.2.2 优化建议:实施合适的规范化程度,平衡数据冗余与查询性能;创建复合索引以加速多条件查询;使用分区技术对大数据量表进行分割,提升查询效率;考虑使用物化视图预计算常用查询结果,减轻数据库实时计算压力。...

    oracle数据库性能优化.pdf

    Oracle数据库性能优化是确保系统高效运行的关键环节,尤其是在大数据量和高并发的环境中。Oracle数据库因其先进、完整和集成的特性,在市场中占据主导地位,因此深入理解和掌握Oracle的优化技术至关重要。 首先,...

Global site tag (gtag.js) - Google Analytics