优化数据库的思想:
================
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语句优化的原则相关推荐

  1. 优化数据库的方法及SQL语句优化的原则

    优化数据库的方法: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化.(可以用Sybase的SQL Expert,可惜 ...

  2. mysql高效sql语句_高效SQL优化 非常好用的SQL语句优化34条

    高效SQL优化 非常好用的SQL语句优化34条 相关软件相关文章发表评论 来源:2011/2/13 9:38:43字体大小: 作者:佚名点击:576次评论:0次标签: 类型:电子教程大小:8.5M语言 ...

  3. sql server 数据分析优化实战(一)——SQL语句优化

    前言 在我们进行数据分析的时候,首要的目标是根据业务逻辑,通过编写SQL代码得到我们想要的结果,这是毋庸置疑的.一般情况下,由于我们分析的数据量比较少,体会不出SQL语句各种写法的性能优劣,对SQL代 ...

  4. 数据库:30种SQL语句优化,进阶必备!

    SQL查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结一些方法,供大家参考. 01 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by ...

  5. 秋色园QBlog技术原理解析:性能优化篇:打印页面SQL,全局的SQL语句优化(十三)...

    文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用 2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程 3: 秋色 ...

  6. mysql优化的几种方法_详解mysql数据库不同类型sql语句优化方法

    概述 分享一下之前笔记记录的一些不同类型sql语句优化方法,针对mysql. 主要分成优化INSERT语句.优化ORDER BY语句.优化GROUP BY 语句.优化嵌套查询.优化OR语句这几个方面, ...

  7. MySQL数据库:SQL语句优化

    数据库最常用的优化方式有:SQL语句和索引.数据库表结构.系统配置.硬件. 优化效果:SQL语句和索引 < 数据库表结构 < 系统配置 < 硬件,成本也是递增的. 优化方法 设计符合 ...

  8. 一个系列搞懂Mysql数据库12:从实践sql语句优化开始

    Table of Contents 字段 索引 查询SQL 引擎 MyISAM InnoDB 0.自己写的海量数据sql优化实践 mysql百万级分页优化 普通分页 优化分页 总结 除非单表数据未来会 ...

  9. 数据库优化专题---7、SQL语句优化

    数据库优化专题-1.表的主键用数字还是UUID 数据库优化专题-2.逻辑删除还是物理删除 数据库优化专题-3.千万记录如何快速分页 数据库优化专题-4.读多写少和读多写多 数据库优化专题-5.删改数据 ...

最新文章

  1. 产生随机数的用户图形界面Python GUI
  2. 【2556】传说中的数据结构 sdutOJ
  3. php iconv lanti1,字符编码转换iconv
  4. 线程池 ManualResetEvent
  5. 一生一世高圆圆经典台词
  6. leetcode刷题实录:4
  7. java 守护线程 run_java守护线程(后台线程)
  8. primefaces教程_Primefaces Spring和Hibernate集成示例教程
  9. Windows server 2008 R2桌面调出“计算机”等图标
  10. 组装三代番木瓜基因组——by Serenity Fang
  11. 浅色羽毛,轻盈身体,鸟儿风雨迁徙路 附:五十幅漂亮之鸟高清大图
  12. 血色冲锋队洛谷P1332(福建省历届夏令营)
  13. 表单实现登录注册功能
  14. mybatis collection 子查询,嵌套查询,解决分页问题
  15. 语法体系:揭秘同位语从句day9
  16. 计算机图形学上机实验一-画出一个钻石
  17. Cris 的 Python 数据分析笔记 08:NumPy 和 Pandas 整理脑图
  18. 双十二:2017这些活动不可错过
  19. File对象和IO流
  20. Nginx总结(2)—Nginx的反向代理

热门文章

  1. C#笔记06 面向对象和类
  2. mysql binlog ignore db_MySQL binlog_ignore_db 参数的具体使用
  3. JellyViewPager
  4. javascript arguments(转)
  5. android device action and adb command
  6. iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9443 -j DNAT
  7. springboot中添加静态资源的方式,默认的静态资源文件夹有哪些
  8. 论文笔记--知识表示学习研究进展-2016
  9. http发送16进制报文_图解HTTP 第三章HTTP报文内的HTTP信息
  10. 难得一见的DIY针孔相机