`
hackbomb
  • 浏览: 213396 次
  • 性别: 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语句优化的原则优化数据库的思想及SQL语句优化的原则

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

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

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

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

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

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

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

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

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

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

    ORACLE数据库优化设计方案

    数据库高手给出的从九个不同方面介绍ORACLE数据库优化设计方案 一、数据库优化自由结构OFA(Optimal flexible Architecture) 二、充分利用系统全局区域SGA(SYSTEM GLOBAL AREA) 三、规范与反规范设计数据库 四、...

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

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

    分布式数据库试题及答案.doc

    5.1.5. 简述用爬山算法进行查询优化的基本思想 30 5.2. 下面是某个公司一个人事关系数据库的全局模式: EMP={ENO*,ENAME,POSITION,PHONE} PAY={POSITION*,SALARY} ENO为职员号,POSITION为岗位。SALARY表示岗位对应...

    数据库结构设计及优化.pptx

    数据库结构设计简述 按照规范设计的思想,一般将数据库设计细分为六个阶段: 1.数据库需求分析阶段; 2.数据库概念设计阶段; 3.数据库逻辑设计阶段; 4.数据库物理设计阶段; 5.数据库实施阶段; 6.数据库运行、...

    数据库优化设计方案.doc

    数据库优化方案设计 XX信息管理平台从大型数据库环境四个不同级别的调整分析入手,分析数据库平台的系 统结构和工作机理,从九个不同方面设计数据库的优化方案。 对于数据库的数据优化,主要有四个不同的调整级别,...

    SQL编程思想:基于5种主流数据库代码实现.docx

    SQL 编程思想:基于 5 种主流数据库代码实现 这篇文章主要讲解了 SQL 编程思想的重要性和关系型数据库的基础知识。下面是文章中的知识点: 1. SQL 编程思想的重要性 SQL 编程思想是关系型数据库系统的标准语言,...

    数据库设计培训.pptx

    数据库设计概述 什么是数据库设计 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,...

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

    数据库的性能优化一直是DBA日常工作中非常重要的组成部分,然而很多...优化工作的本质其实就是透过表象探寻根源,解决问题实现调优,正所谓“思路是道,操作方法是技”,得道是极大的提升,也是DBA的思想精髓。+ ?' m

    2022中国数据库技术大会(公开)PPT汇总(71份).zip

    分布式事务数据库性能优化实践 分布式数据库的分布式事务处理技术 分布式数据库选型与实战 服务vivo数亿用户的数据库服务平台实践 广告实时数仓建设实践 海量异构数据,在线业务存储架构演进与实践 基于图数据库的...

    高并发Oracle数据库系统的架构与设计

    , 全书主要内容从三个维度展开:首先是内部扩展的维度,深入探讨了高效B树索引、高效表设计、查询优化器等数据库架构设计与优化的核心技术,以及高并发Oracle数据库系统架构与设计的方法论和常见的高并发案例;...

    设备信息管理系统 数据库文件

    系统功能: (1)设备类别管理:方便设备的管理,可以添加新类别名称和修改已经存在的类别名称 ... (3)最优化数据库设计,解决了数据一致性问题 (4)程序使用三层架构思想,采用完全面向对象的思想方法设计

    基于ARM-Linux的SQLite嵌入式数据库的研究.pdf

    此外,本文还讨论了嵌入式数据库的设计思想和主要特征,包括体积小巧、高速高效、稳定可靠、可移植性等,并对SQLite嵌入式数据库的应用前景进行了展望。 本文为读者提供了一个基于ARM-Linux平台的SQLite嵌入式...

    数据库原理课程设计.doc

    通过本设计,可以加深理解有关数据库原理基本知识以及设计思想,提高数据库应用程序开发的能力。 本设计的主要步骤包括: 1. 需求分析:对数据库管理系统的需求进行分析和确定,包括数据流图、数据字典等。 2. ...

    商品库MySQL优化实践PPT学习教案.pptx

    在本项目中,我们使用多种调优工具来检测和优化数据库的性能,以提高数据库的性能和可扩展性。 MySQL 数据库考虑因素 MySQL 数据库考虑因素是指在设计和优化 MySQL 数据库时需要考虑的各种因素。在本项目中,我们...

Global site tag (gtag.js) - Google Analytics