SQL实用简明教程(课件) 作者 7-302-08932-9k CHAP11.ppt

SQL实用简明教程(课件) 作者 7-302-08932-9k CHAP11.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 数据库性能和SQL的优化 重点内容: 数据库性能优化 SQL语句优化 查询优化 * SQL实用简明教程 * 新世纪网页设计师应用教程 第1章 网页设计基础 重点内容: 网页的设计构思和布局 站点的规划与设计流程 主页的基本制作流程 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 一、数据库性能 1、影响数据库性能的因素 影响基于SQL的数据库系统性能的常见因素如下: (1)SQL语句的使用不当 (2)没有经常使用COMMIT命令 (3)有太多并发用户 (4)过多使用批量装载 (5)运行批量装载时使用索引 (6)将索引建立在存储有大量重复数值的列上 (7)在小表上建立索引 (8)大小不合理的表和索引 (9)服务器上可用资源的浪费 (10)系统资源的管理不善 一、数据库性能 2、基准测试 通过基准测试可以测量一个数据库系统的性能,比如,它可以测试该系统每秒钟传送的事务量的大小。基准测试拥有一组在可控制的环境中测量数据库系统性能的标准方法,也叫基准程序,它是非常复杂的技术。基准程序的技术细节不属于本书的讨论范围,本节也只给予基准测试的作用的最简单介绍。 基准测试主要针对用于任务型应用程序的数据库系统,这些任务型应用程序面向许多的用户,并且包括大型的数据库。现在数据库市场上有许多的数据库系统产品,它们都有各自的特点。选择合适自己的数据库系统就要使用到基准测试了,有了它,我们就可以将对各数据库产品进行性能上的比较,作出合适的选择了。 一、数据库性能 3、监控和提高性能的工具 大多数的数据库管理系统,特别是为面向产品、多用户的在线应用程序开发的关系型数据库管理系统,都有提供多种监控和提高性能的工具。 一个数据库系统每次执行数据操作任务时,都会先为这次操作任务创建“执行计划”,接着,数据库按照执行计划的安排来进行操作。执行计划其实是一个数据操作任务中的所有单独操作构成的列表。监控和提高性能的工具可以通过查看这些执行计划,并且判断是否应该对这些执行计划进行优化来实现它们监控和提高数据库系统性能的功能。 不同类型的数据库系统提供的监控和提高系统性能的工具有些差别。在Oracle数据库系统中,有两种方式可以查看一项特定查询的执行计划:如果想在查询操作执行完后查看执行计划,使用SET AUTOTRACE ON命令,在查询语句运行前查看执行计划使用EXPLAIN PLAN命令。不想查看时,使用SET AUTOTRACE OFF来关闭自动跟踪摄制。在Transact-SQL中,可以打开支持显示执行计划的SHOWPLAN设置,使用命令:SET SHOWPLAN ON。但是,在Microsoft SQL Server数据库系统中,使用变量SET SHOWPLAN_ALL和SET SHOWPLAN_TEXT来代替SET SHOWPLAN。 二、提高SQL语句可读性 让编写的程序代码具有很好的可读性是必须养成的一个编程习惯,即使它并不能提高SQL语句的执行效率。因为只有具备了好的可读性,将来由自己或者是其他人对程序进行修改和完善时才能够顺利,毕竟,谁都不能保证自己编写的语句完美得以后肯定不会被修改。 SELECT E, Employee.sex, Employee.id, Employee.birthday, Employee.salary, Department.Dname, Department.DNUMBER FROM Employee,Department WHERE Employee.id=Department.MGRid AND Employee.sex=’男’ AND ( SUBSTR ( TO_CHAR ( Employee.birthday,’MM DD , YYYY’ ), 1, 2 ) = ’10’ OR SUBSTR( TO_CHAR( Employee.birthday, ’MM DD , YYYY’),1,2) = ’11’ OR SUBSTR(TO_CHAR(Employee.birthday,’MM DD , YYYY’),1,2) = ’12’ ) SELECT , e.sex, e.id, e.birthday, e.salary, d.Dname,d.DNUMBER FROM Employee e,Department d WHERE e.id=d.MGRid AND e.sex=’男’ AND ( SUBSTR(TO_CHAR(

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档