SQL Turning是Quest公司生产的Quest Central软件中的一个工具。Quest Central是一个集成的、图形化的跨平台数据库管理解决方案,可以同时管理oracle、DB2和sql server数据库。
SQL Server的SQL优化简介
SQL语句的优化对于数据库的最佳性能非常重要。不幸的是,由于时间和资源的原因,应用程序优化通常被忽略。SQL调优模块可以比较和评估SQL语句在具体应用中的运行性能,提出智能优化建议,帮助用户提高应用的响应时间。SQL优化模块具有非侵入式SQL收集、自动优化和专家建议等功能。可以全面提升SQL优化工作。
第二,对SQL Server使用SQL调优
1.打开quest数据库管理解决方案的弹出窗口,如图1所示。
图1
2.在红色标记处打开SQL优化以优化SQL
(1)建立连接。
在Quest Central主界面的数据库树中选择SQL Server,然后在下面显示的工具箱中选择SQL Tuning选项,打开“针对SQL Server连接的Lanch SQL Tuning”对话框(图2和图3)。我们在这里建立了一个到数据库服务器的连接,以后的分析工作就在上面完成了。
图2“建立连接”对话框
图3
双击新建连接图标,在弹出窗口中输入数据库的信息,单击确定,然后单击连接。
(2)分析原始SQL语句,点击连接后会弹出一个新窗口,如图4所示。
图4
在打开窗口的“Orion SQL”文本框中输入要分析的Oriangal SQL语句,在红色标记处选择对应的数据库名称。SQL语句代码如下:
图5分析原始SQL语句
原始SQL语句
然后点击工具栏上的“执行”按钮,执行原来的SQL语句。SQL调优将自动分析SQL执行计划,并在界面上显示分析结果(图5)。
(3)优化SQL。
现在,我们单击工具栏上的“优化语句”按钮,让SQL Tuning开始优化SQL。完成后,我们可以看到SQL调优产生了19个与原始SQL相当的优化方案(图6)。
图6 SQL优化方案
(4)获取最佳SQL。
接下来,让我们执行上面生成的优化方案,选择具有最佳性能的等价SQL语句。在列表中选择要执行的优化方案(默认选择全部),然后点击工具栏上执行按钮旁边的下拉菜单,选择执行所选。在所有SQL运行之后,单击界面左侧的Tuning Resolution按钮。
可以看到最好的SQL已经出来了,运行时间可以提升21%!(图7)
图7“调整分辨率”界面
最佳SQL语句如下:
5)学会写专家SQL语句。
优化的SQL语句
选择dbo。Person_BasicInfo。*,
dbo。Graduater _ GraduaterRegist。RegistNOASRegistNO,
dbo。Graduater _ GraduaterRegist。RegistTimeASBaoDaoTime,
dbo。Graduater _ GraduaterRegist。RegistManASRegistMan
dbo。毕业生_商业。ComeFromASComeFrom,
dbo。毕业生_商业。CodeASCode,
dbo。毕业生_商业。状态状态,
dbo。毕业生_商业。ApproveResultASApproveResult
dbo。毕业生_商业。新公司,
dbo。毕业生_商业。CommendNumberASCommendNumber,
dbo。毕业生_商业。EmployStatusASEmployStatus,
dbo。毕业生_商业。NewCommendTimeASNewCommendTime,
dbo。毕业生_商业。GetSourceASGetSource,
dbo。毕业生_商业。EmployTimeASEmployTime,
dbo。毕业生_商业。JobASJob,
dbo。毕业生_商业。菲尔曼,
dbo。毕业生_商业。FillTimeASFillTime,
dbo。毕业生_商业。IsCommendOKASIsCommendOK,
dbo。毕业生_商业。ApproveUserASApproveUser
dbo。毕业生_商业。批准测量批准时间,
dbo。毕业生_商业。注册时间注册时间,
dbo。毕业生_商业。EmployCorpASEmployCorp,
dbo。毕业生_商业。JobRemarkASJobRemark,
Casewhenbo。毕业r _ business.comefrom=' ws '然后'在线注册'
Whendbo。毕业r _ business.come from='惠普'然后'华普大厦'
Whendbo。毕业r _ business.come from=' JD' then '经典建筑
什么时候.毕业生_商业ComeFrom='MC'THEN '赛马场'
WHENComeFrom='ZX '然后'高指中心ENDASComeFromName,
dbo .人_联系人AddressASAddress,
dbo .人_联系人ZipASZip,
dbo .人_联系人。电话电话,
dbo .人_联系人MobileASMobile,
dbo .人_联系人。电子邮件,
dbo .人_联系人100 . IMASIM,
dbo .人_技能外语作为外语,
dbo .人_技能100 . foreign language level nbs