文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发PowerBuilderPowerBuilder应用开发系列讲座(18)
精品推荐
特别推荐
·PowerBuilder实用技巧八则
热点TOP10
·PowerBuilder简介
·在PB中用OLE存取blob类型数据
·在PB中如何实现数据模糊查询
·使用XML技术实现OWC对数据库的展示
·PowerBuilder数据录入同步显示
·导出数据到Excel概述
·PB动态报表格式自由定义的实现
·PB程序中在普通激光打印机上实现条码打印
·PB应用ODBC访问不同数据库
·利用PB数据窗口特征制作进度条
·PowerBuilder应用开发系列讲座(6)
·PB8.0应用程序编译发布技术研究
·PB代码优化
·在PB中用Flash制作Splash封面
·PowerBuilder应用开发系列讲座(39)
·在pb中用语音读金额
·PowerBuilder的数据窗口
·Direct3D9初级教程
·关于PB播放AVI文件的补充
·在PowerBulider中读写IC卡

PowerBuilder应用开发系列讲座(18)

日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]


  显然三种方法一种比一种要好,因为后者为优化器提供了更多的选择机会。

2.连接条件

  在进行查询连接时优化器将所有连接的方法全部列举出来,计算每一种连接的成本,选择成本最低的一种。如连接时用到的数据无法获得,一般系统会使用平均密度作为依据,估算可能的命中率。

3.‘或’运算条件

  当查询语句中有IN这样的关键词时,优化器将转化其中的内容以OR并列条件。例如:

SELECT * FROM author WHERE au_lname in (‘Berry,‘Densham)

将转化为:

SELECT * FROM author WHERE au_lname = ‘Berry or au_lname = ‘Densham

  数据库管理系统将对每一个OR从句进行查询,将所有的结果合并后去掉重复项作为最终结果。

优化技巧

  基于对上述数据库优化器的了解,为确保对我们将要执行的查询语句得以进行准确的优化

,我们应注意以下几点:

1.避免使用不兼容的数据类型。

  例如float和int、char和varchar、binary和varbinary 是不兼容的。数据类型的不兼容可能使优化器无法执行一些本来可以进行的优化操作。 例如:

SELECT name FROM employee WHERE salary > 60000

  在这条语句中,如salary字段是money型的,则优化器很难对其进行优化,因为60000是个整 型数。我们应当在编程时将整型转化成为钱币型,而不要等到运行时转化。

2.如果在一个存储过程或触发器中,有表达式的值在编译时无法得到,优化器就只能使用它的平均密度来估计命中的记录数。例如:

DECLARE @value money

SELECT name FROM employee WHERE salary = @value

  这样的命令是可优化的。只是由于@value的值在执行前不知道,它只能使用其平均密度来 估计这条命令将要命中的记录数。

3.避免对搜索参数使用其它数学操作符,如要将

SELECT name FROM employee WHERE SUBSTRING(id, 1, 1) = B

SELECT name FROM emplyee WHERE salary * 12 > 30000

写成为:

SELECT name FROM employee WHERE id like ‘B%

SELECT name FROM emplyee WHERE salary > 3000

4.避免使用!=或<>等这样的操作符,因为这会使系统无法使用索引,而只能直接搜索表 中的数据。例如:

SELECT id FROM employeeWHERE id != B%

  优化器将无法通过索引来确定将要命中的行数。

  上面我们提到的是一些基本的提高查询速度的注意事项,但是在更多的情况下,程序员往往需要反复试验比较不同的语句以得到最佳方案。此外更为重要的是需要数据库管理员 在数据库的服务器一端调整数据库管理系统的参数,以得到更快的响应性能,这就超出了本文的讨论范围。

(出处:清风网络学院


上一页 [1] [2] [3] 




上一篇:PB动态报表格式自由定义的实现

下一篇:PowerBuilder应用开发系列讲座(30)

PowerBuilder应用开发系列讲座(18) 相关文章:
·EZ-USB 68013A开发指南
·QQ空间篮球大图模块:科比系列【2】
·Visual Studio 2005集成开发环境图解
·华为3com系列产品配置手册汇总
·每周电脑应用技巧荟萃
·英文字体创意设计及应用作品欣赏
·Windows XP 的超级应用技巧28例
·Windows XP最新应用技巧六则
·QQ空间篮球大图模块:科比系列【3】
·windows 2003服务器配置VPN实现各种网络环境VSS协同开发
PowerBuilder应用开发系列讲座(18) 相关软件:
·婚育视频讲座-新婚ABC
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·婚育视频讲座-避孕套趣话
·SQL Server 2000 基础系列课程视频
·婚育视频讲座-爱的奇迹
·中国少年儿童智力开发百科全书(上中下)高清PDF全彩图书
·自我按摩系列
·鬼古女悬疑系列
·罗伯特清崎 富爸爸穷爸爸讲座
·余世维《成功经理人讲座》完整电子书

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot