`
gsvince
  • 浏览: 54699 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

优化数据库思想及sql优化原则

阅读更多
优化数据库的思想:

  1、关键字段建立索引。
  2、使用存储过程,它使SQL变得更加灵活和高效。
  3、备份数据库和清除垃圾数据。
  4、SQL语句语法的优化。
  5、清理删除日志。

SQL语句优化的原则: 
 
  1、使用索引来更快地遍历表。
  缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:
  ①.有大量重复值、且经常有范围查询
  (between, > ,< ,> =,< =)和order by、group by发生的列,可考虑建立群集索引;
  ②.经常同时存取多列,且每列都含有重复值可考虑建立组合索引;
  ③.组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。索引虽有助于提高性能但不是索引越多越好,恰好相反过多的索引会导致系统低效。用户在表中每加进一个索引,维护索引集合就要做相应的更新工作。
  2、IS NULL 与 IS NOT NULL
  不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从索引中排除。也就是说如果某列存在空值,即使对该列建索引也不会提高性能。任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。
  3、IN和EXISTS
  EXISTS要远比IN的效率高。里面关系到full table scan和range scan。几乎将所有的IN操作符子查询改写为使用EXISTS的子查询。
  4、在海量查询时尽量少用格式转换。
  5、当在SQL SERVER 2000中,如果存储过程只有一个参数,并且是OUTPUT类型的,必须在调用这个存储过程的时候给这个参数一个初始的值,否则会出现调用错误。
  6、ORDER BY和GROPU BY
  使用ORDER BY和GROUP BY短语,任何一种索引都有助于SELECT的性能提高。注意如果索引列里面有NULL值,Optimizer将无法优化。
  7、任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。
  8、IN、OR子句常会使用工作表,使索引失效。如果不产生大量重复值,可以考虑把子句拆开。拆开的子句中应该包含索引。
  9、SET SHOWPLAN_ALL ON 查看执行方案。DBCC检查数据库数据完整性。
  DBCC(DataBase Consistency Checker)是一组用于验证 SQL Server 数据库完整性的程序。
  10、慎用游标
  在某些必须使用游标的场合,可考虑将符合条件的数据行转入临时表中,再对临时表定义游标进行操作,这样可使性能得到明显提高。

  总结:
  所谓优化即WHERE子句利用了索引,不可优化即发生了表扫描或额外开销。经验显示,SQL Server性能的最大改进得益于逻辑的数据库设计、索引设计和查询设计方面。反过来说,最大的性能问题常常是由其中这些相同方面中的不足引起的。其实SQL优化的实质就是在结果正确的前提下,用优化器可以识别的语句,充份利用索引,减少表扫描的I/O次数,尽量避免表搜索的发生。其实SQL的性能优化是一个复杂的过程,上述这些只是在应用层次的一种体现,深入研究还会涉及数据库层的资源配置、网络层的流量控制以及操作系统层的总体设计。

2
0
分享到:
评论

相关推荐

    优化数据库的思想及SQL语句优化的原则

    本文将深入探讨优化数据库的思想以及SQL语句优化的原则。 一、优化数据库的思想 1. 数据库设计:良好的数据库设计是优化的基础。应遵循第一范式(1NF)、第二范式(2NF)和第三范式(3NF),减少冗余数据,确保...

    数据库建表原则-设计思想-查询优化

    ### 数据库建表原则详解 #### 一、原始单据与实体之间的关系 在数据库设计过程中,原始单据与实体之间的关系是理解数据结构的基础。根据业务需求的不同,这种关系可以表现为一对一、一对多或者多对多的形式。最...

    大道相通,得鱼忘筌 - 从Oracle的SQL优化到MySQL的SQL优化.pdf

    在数据库管理与优化领域,SQL优化是至关重要的一环,它涉及到数据库性能的提升以及系统资源的有效利用。在不同数据库管理系统(DBMS)之间,如从Oracle迁移到MySQL,虽然两个系统有着各自的特性,但是优化的核心思想...

    Oracle数据库效率优化讲义

    二、优化数据库的基本思想 1. 建立关键字段的索引,以加快数据查找速度。 2. 使用存储过程,提高SQL的灵活性和效率,减少网络传输。 3. 定期备份数据库,清理无用数据,保持数据库整洁。 4. 优化SQL语句的语法结构,...

    数据库优化原则

    #### 一、优化数据库的核心思想 优化数据库的目标在于提升数据库系统的运行效率和资源利用率。为了实现这一目标,我们需要遵循一系列的原则和技术。以下几点是数据库优化的关键: 1. **关键字段建立索引**:索引...

    数据库课程设计以及指导思想

    数据库课程设计是计算机科学教育中的一个重要环节,它涵盖了数据库系统的基本概念、设计原则、实现方法以及优化策略。在这个过程中,学生们通常需要理解并应用关系数据库模型、SQL语言、数据库管理系统(DBMS)以及...

    东北大学数据库系统原理及应用

    在实际应用部分,学生可能会通过“java编程思想.chm”学习如何使用Java来操作数据库,例如JDBC(Java Database Connectivity)API的使用,包括连接数据库、执行SQL语句、处理结果集等。数据库连接池(如C3P0、DBCP、...

    数据库ppt.zip

    “数据库系统基础讲义第17讲数据库物理存储.pdf”将介绍数据库的存储结构,包括数据页、索引、缓冲池等,以及如何通过存储过程和触发器优化数据库性能。 “数据库系统基础讲义第18讲数据库索引技术.pdf”可能是关键...

    轻量级数据库,不用写 SQL ,仅仅通过注解就能完成对数据库的操作

    3. 数据库架构设计原则:包括数据模型设计(如实体关系图ERD)、正常化、索引优化、事务管理等,这些都是为了确保数据库的高效运行和数据的一致性。 4. 数据库版本管理:随着应用的迭代,可能需要更新数据库结构,...

    《SQL-Server数据库技术》试卷K卷答案.docx

    这部分涵盖了数据库管理、SQL语句及数据库设计的概念。例如: 1. 数据库备份和恢复是数据库管理的重要环节,用于防止数据丢失。 2. 关系规范化是数据库设计过程中的核心步骤,旨在减少数据冗余和提高数据一致性。 3....

    大型ORACLE数据库优化设计方案.pdf

    规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即采用“一事一地”的模式设计原则,因此,所谓规范化实质上就是概念的单一化。数据库中数据规范化的优点是减少了...

    基于需求分析的SQL优化.pdf

    SQL优化是数据库性能调优的核心环节,是确保业务高效运行的关键步骤。优化过程中需遵循的原则是,无论如何修改SQL语句,都应保证其满足原有的需求。本文深入探讨了从需求分析角度出发的SQL优化策略,并提出了一系列...

    基于C_S模式的SQL数据库应用技术.pdf

    本文将深入探讨基于C/S模式的SQL数据库应用技术,包括其基本原理、设计原则以及实际操作中的关键技巧。 一、C/S模式基础 C/S模式的核心思想是分工协作,客户端主要负责用户界面展示、数据验证和业务逻辑处理,而...

    图书管理系统+Java源代码+SQL Server数据库文件

    同时,结合SQL Server数据库的使用,可以掌握数据库设计原则,如ER模型、表结构设计以及SQL查询优化等。 总的来说,"图书管理系统+Java源代码+SQL Server数据库文件"为开发者提供了一个实践和学习的平台,无论你是...

    简易银行卡管理系统——java 实现以及 SQL server 2005数据库

    《简易银行卡管理系统——Java实现与SQL Server 2005数据库》 本项目是一个基于Java编程语言...其设计思路、实现方法以及对数据库的运用,都体现了软件工程的实践原则,是学习和理解Java与数据库集成应用的良好实例。

    中山大学数据库复习资料

    此外,对数据库系统的设计思想和优化策略有深入理解,能够帮助考生在解决问题时更有针对性。 总的来说,这份“中山大学数据库复习资料”不仅提供了学习数据库基础知识的途径,还能帮助学生通过实例加深对数据库原理...

    SQL数据库图书管理系统(完整代码).doc

    ### SQL数据库图书管理系统...以上内容概述了“SQL数据库图书管理系统”的主要知识点,涵盖了设计目标、存储设计原则、系统需求分析、数据需求、关系模式等方面。这些知识点对于构建一个高效的图书管理系统至关重要。

Global site tag (gtag.js) - Google Analytics