`
hackbomb
  • 浏览: 215088 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

优化数据库的思想

    博客分类:
  • SQL
阅读更多

优化数据库的思想:
================
1、关键字段建立索引。
2、使用存储过程,它使SQL变得更加灵活和高效。
3、备份数据库和清除垃圾数据。
4、SQL语句语法的优化。(可以用Sybase的SQL Expert,可惜我没找到unexpired的
序列号)
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的性能优化是一个复杂的过程,上述这些只是
在应用层次的一种体现,深入研究还会涉及数据库层的资源配置、网络层的流量控制
以及操作系统层的总体设计。

分享到:
评论

相关推荐

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

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

    分布式数据库查询优化算法综述

    分布式数据库查询优化算法综述,介绍了分布式数据库查询优化的基本思想

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

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

    数据库SQL优化大总结之 百万级数据库优化方案.pdf

    数据库SQL优化大总结之百万级数据库优化方案 本文总结了数据库SQL优化的十一个重要知识点,以帮助开发者提高SQL查询效率,避免全表扫描。 一、数据库SQL优化之索引优化 1. 在where及order by涉及的列上建立索引,...

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

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

    数据库索引设计思想与优化策略

    《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。 作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理, 以及表和索引的扫描方式,详尽地讲解了如何快速地...

    Oracle数据库优化技术详解.pptx

    方法论是指 Oracle 数据库优化的思想和方法,它涉及到数据库的整体机制、性能优化方法、资源瓶颈分析等方面。 在 Oracle 数据库优化技术中,优化工具是非常重要的。 Oracle 提供了多种优化工具,例如 Oracle Tuning...

    Oracle数据库效率优化讲义

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

    神经网络思想切入数据库查询优化的应用.pdf

    【神经网络思想在数据库查询优化中的应用】 神经网络思想是一种基于生物神经系统的计算算法和技巧,它模拟了动物神经系统的学习和联想能力。在数据库查询优化领域,神经网络因其非线性映射的能力,能有效处理复杂的...

    分布式数据库查询处理优化算法分析-数据库理论-计算机.pdf

    半连接查询优化算法的主要思想是通过对查询语句进行分析和优化,以减少查询时间和提高查询效率。半连接查询优化算法主要有两种:一种是基于规则的半连接查询优化算法,另一种是基于成本的半连接查询优化算法。 基于...

    ORACLE数据库优化设计方案

    ### ORACLE数据库优化设计方案 #### 一、数据库优化自由结构OFA(Optimal Flexible Architecture) 在Oracle数据库的设计中,逻辑配置对于性能具有重要的影响。Oracle推荐了一种优化结构——OFA(Optimal Flexible ...

    Oracle 数据库性能优化与运维最佳实践.pdf

    1. 在优化应用程序代码之前,先优化数据库设计,因为数据库设计的合理性直接影响到数据库的性能。 2. 在优化实例之前,先优化应用程序代码,因为应用程序的效率同样影响着数据库的响应速度和处理能力。 3. 对那些...

    微博数据库那些事儿:3个变迁阶段背后的设计思想.pdf

    【微博数据库设计思想的三个变迁阶段...微博数据库的历程为其他互联网企业提供了宝贵的经验,如何在面对业务快速增长时做出正确的架构决策,以及如何通过技术手段来优化数据库性能,这些都是值得深入学习和探讨的话题。

    数据库ppt.zip

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

    数据库优化原则

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

    DBA的思想天空----感悟Oracle数据库本质

    DBA的思想精粹在于能够掌握和应用数据库的核心原理,用这些原理指导日常的管理和优化工作,从而达到思想上的提升和实践中的高效。 通过对本书的阅读和理解,DBA不仅能够提升个人的专业技能和工作效率,更能对数据库...

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

    "大型ORACLE数据库优化设计方案" 本文主要从大型数据库ORACLE环境四个不同级别的调整分析入手,分析ORACLE的系统结构和工作机理,从九个不同方面较全面地总结了ORACLE数据库的优化调整方案。 一、数据库优化自由...

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

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

Global site tag (gtag.js) - Google Analytics