最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 开发技术 > 编程语言 >
为什么要SQL调优?目的是什么?
IT168发表于 2020-11-05 15:54 次浏览
        相信不少的朋友,无论是做开发、架构的,还是DBA等,都经常听说“调优”这个词。说起“调优”,可能会让很多技术人员心头激情澎湃,也可能会让很多人感觉苦恼。当然,也有很多人对此不屑一顾,因为并不是每个人接触到的项目都很大,也不是每个人做的项目都对性能要求很高。那为什么要SQL调优?目的是什么?下面我们来讲解一下:

     调优需求

  DBA通常要负责应用的性能。性能调优可分为几个类型,常见的包括:

  •SQL调优:DBA捕获SQL语句并执行解释工具。这样便提供了格式化的访问路径信息,如此一来就可以分析是否有更好的替代方案。

  •资源调优:DBA和系统编程人员会检测CUP,I/O以及内存等资源的消耗情况。然后分析数据库,应用程序,甚至是单条SQL语句是如何利用这些资源的,从而最小化资源使用以达到最大吞吐量。

  •数据库子系统调优:此处,DBA和系统程序员分析数据库软件本身的资源使用情况。他们会检查配置参数,监测和跟踪数据库产生的内部统计数据。

  其中,SQL调优是最为简单和常见的。事实上,DBA们有时将它视作最为重要的工作,而这种认知会导致错误的成就感。

  SQL调优的目的

  与SQL相关的最为常见的性能问题包括:一条语句执行了太长的时间,消耗了过多的资源,或是超出了某些容量限制。以下是一些例子:

  •一条对小表进行操作的简单SQL语句持续执行了超过一个小时;

  •一条SQL语句执行了两分钟,但在此期间消耗了两分钟的CPU时间;

  •一条SQL语句执行失败,其出错信息为“超出CPU限制”;

  •对在线应用程序的关键任务进行操作的SQL语句执行缓慢,从而给客户造成过度的事务处理时间。

  资源限制水平集

  对于SQL语句性能不佳的唯一解决之道就是“调优或升级(增加硬件资源)”,这是DBA中流传的一个常见错误观念。

  然而,达到资源容量限制仅仅只是一个症状,并非症结所在。“调优或升级”这两种方案也仅仅是可能原因的潜在解决途径而已。

  例如,经常有DBA通过SQL调优来降低CPU占用率。查询速度上来了,但也给了其他潜在任务一个机会去使用当前释放状态下的CPU。这也同样适用于其他的限制。这种考量方式也只是相对表征了这些症状的成因。

  也许DBA会问,“我要怎样才能知道要进行调优的对象?”其实这是一个错误的问题。更好的问题应该是:“我们如何衡量优化?”“由谁负责企业IT的能力规划?”“对于处理新程序/SQL迁移,灾难恢复规划等类似问题,我们有没有现成的最佳实践方案?”

  注意,这些问题是战略的,而非战术的。它们体现的问题是DBA的优先级以及他们的时间成本。

标签:sql查询语句
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐
2020-11-02 15:46:23 关键词:sql备份怎么做
摘要:本文通过对影响数据库SQL查询语句效率因素和优化器优化策略的分析,从临时表方面,阐述了在使用SQL语句时,如何运用高质量的查询语句的方法及手段。 案例(图1,正式库上该报表的..