没有合适的资源?快使用搜索试试~ 我知道了~
首页最经典的SQL培训文档.doc
最经典的SQL培训文档.doc
需积分: 10 8 下载量 15 浏览量
更新于2023-03-16
评论
收藏 107KB DOC 举报
由于开发数据库数据比较少,对于查询SQL语句,复杂视图的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍、上千倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。 在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。但是,如果在SQL语句的where子句中写的SQL代码不合理,就会造成优化器删去索引而使用全表扫描,一般就这种SQL语句就是所谓的劣质SQL语句。在编写SQL语句时我们应清楚优化器根据何种原则来删除索引,这有助于写出高性能的SQL语句。 下面从SQL语句的编写和SQL语句使用索引两方面来阐述。
资源详情
资源评论
资源推荐
SQL 培训文档
Oracle SQL
目 录
简介
写一个好的 语句
条件
函数的使用
表连接语句
语句与索引
索引的操作
基础表的选择
多个平等的索引
等式比较和范围比较
避免在索引列上使用计算
自动选择索引
避免在索引列上使用
用替代
用 替换 适用于索引列
避免在索引列上使用 和
需要当心的 子句
1 SQL 简介
是 !"!#$%&$&! 结构 化查询语言的缩写。但 不是结 构化的 ,
也不是仅用来查询的,而且就其本身而论, 也不是一种语言,因为 是嵌套在
其他语言例如 ' 或 '( 中使用的。尽管存在这样命名的错误, 仍然成为了关系数
据库的主要访问方式。
由于开发数据库数据比较少,对于查询 语句,复杂视图的编写等体会不出
语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增
加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重
要的方面就是 语句的优化。对于海量数据,劣质 语句和优质 语句之间的速
度差别可以达到上百倍、上千倍,可见对于一个系统不是简单地能实现其功能就可,而是
要写出高质量的 语句,提高系统的可用性。
在多数情况下,$ )! 使用索引来更快地遍历表,优化器主要根据定义的索引来提高
性能。但是,如果在 语句的 *+!! 子句中写的 代码不合理,就会造成优化器删去
索引而使用全表扫描,一般就这种 语句就是所谓的劣质 语句。在编写 语句
时我们应清楚优化器根据何种原则来删除索引,这有助于写出高性能的 语句。
下面从 语句的编写和 语句使用索引两方面来阐述。
2 写一个好的 SQL 语句
2.1 WHERE 条件
1)选择最有效率的表名顺序
ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名,因此 -. 子句中写在
最后的表基础表"/0/%&$1)!将被最先处理。在 -. 子句中包含多个表的情况下,你必
须选择记录条数最少的表作为基础表。当 2' 处理多个表时,会运用排序及合并的方
式连接它们。首先,扫描第一个表-. 子句中最后的那个表并对记录进行派序,然后扫描
第二个表-. 子句中最后第二个表,最后将所有从第二个表中检索出的记录与第一个表
中合适记录进行合并。
例如3表2(,条记录
表2(条记录
选择 2( 作为基础表最好的方法
4!)! 5%6758$1,$1执行时间 秒
选择 2( 作为基础表不佳的方法
4!)! 5%6758$1,$1执行时间 秒
如果有 个以上的表连接查询,那就需要选择交叉表/%!4! /5%$1)!作为基础表,交叉
表是指那个被其他表所引用的表。
例如3.9 表描述了 '2 表和 '2:; 表的交集。
'6
-.'2,
'2:;',
.9
.9<(2=
2='2<''2<
2=''
> 将比下列 更有效率
'6
-..9,
'2,
'2:;'
'2<''2<
2=''
2=.9<(2=?
2) WHERE 子句中的连接顺序
ORACLE 采用自下而上的顺序解析 WHERE 子句,根据这个原理,表之间的连接必须写
在其他 条件之前,那些可以过滤掉最大数量记录的条件必须写在 子句的末
尾。例如3
低效,执行时间 秒
'@
-..9
2
2=A(B.22:C
2=D''6-..9
.:。.9?
高效,执行时间 秒
'@
剩余23页未读,继续阅读
wangxin520m
- 粉丝: 1
- 资源: 64
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0