《数据库原理》课程中查询优化技术的教学研究.docVIP

《数据库原理》课程中查询优化技术的教学研究.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据库原理》课程中查询优化技术的教学研究   摘要:查询技术对于关系数据库的性能,特别是对于执行复杂SQL 语句的性能而言至关重要。要使学生在最短的时间内学会、学好数据库的数据查询技术,就要选用适合他们理解能力和接受能力的教学方法,采用理论+实践的教学方法,才能提高教学效果。   关键词:查询;索引;连接;联合   中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)24-1353-02   The Analysis of Teaching method of the Database Query Optimizing Technology in the principle of the database   FAN Zhi-ping   (School of Computer department, Guangzhou university, Guangzhou 510006,China)   Abstract:the database query is very important in the property of the database, especially in executing the complicated SQL language. For students, TO master it quickly, We must use the principle add the practice method .enhances the teaching effects.   Key words: query; index; join; union      1 引言      数据库技术的日益发展 ,使其应用越来越广泛,已逐渐成为现代计算机信息系统和计算机应用系统的基础和核心数据库的高效性、安全性、稳定性、延展性,是系统成功的关键之一。   数据库最基本的任务是存储、管理数据,而终端用户唯一能看到的数据库特性就是其性能:数据库以何速度处理某一指定查询的结果,并且将结果返回到用户所用的工具和应用程序。数据库是否高效的一个重要指标就是响应时间,响应时间短,查询就可以使用更少的时间,所以响应时间短,反应速度快是高效率的一个表现。      2 数据库查询优化的意义      许多学生认为查询优化是DBMS(数据库管理系统)的任务,与自己所编写的SQL语句关系不大,这是错误的。一个好的查询计划往往可以使程序性能提高数十倍。查询计划是用户所提交的SQL语句的集合,查询规划是经过优化处理之后所产生的语句集合。从大多数系统的应用实例来看,查询操作在各种数据库操作中所占据的比重最大、查阅新闻、 查看文件、 查询统计信息等。下面以MySql应用实例为基础,结合数据库理论,介绍查询优化技术运用。      3 数据库查询优化的技术      3.1 正确使用索引   索引是提高查询速度的最重要的工具。当然还有其它的一些技术可供使用,但是一般来说引起最大性能差异的都是索引的正确使用。它可以令数据库服务器以比没有索引快得多的速度检索特定的行,尤其是在查询语句当中包含有MAX(), MIN()和ORDERBY这些命令的时候,性能提高更为明显。在下面的情况下应该使用索引来提高数据库的查询速度:   1) 在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。   2) 在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。   3) 在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。   3.2 避免在大型表行数据的顺序存取   在嵌套查询中,对表的顺序存取对查询效率可能产生很大的影响。比如采用顺序存取策略,一个嵌套3层的查询,如果每层都查询1000行,那么这个查询就要查询10亿行数据。避免这种情况的主要方法就是对连接的列进行索引。例如,两个表:学生表(学号、姓名、年龄……)和选课表(学号、课程号、成绩)。如果两个表要做连接,就要在“学号”这个连接字段上建立索引。   还可以使用并集来避免顺序存取。尽管在所有的检查列上都有索引,但某些形式的where子句强迫优化器使用顺序存取。下面的查询将强迫对orders表执行顺序操作:   SELECT * FROM orders WHERE (customer_num=104 AND order_num1001) OR order_num=1008   虽然在customer_nu

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档