SQL优化
对数据库系统的性能起着决定性的作用。对于同一条件下的SQL语句写法有很多,其中一些写法往往对性能又有很大影响。但是每个人掌握SQL语言的水平不同,如何才能保证写出高性能的SQL呢?针对这种情况,人工智能自动SQL优化工具应运而生。现在我就向大家介绍这样一款工具:SQL Tuning
1. SQL Tuning 简介
SQL Turning 是Quest公司出品的Quest Central软件中的一个工具。 Quest Central(图1)是一款集成化、图形化、跨平台的数据库管理解决方案,可以同时管理 Oracle、DB2 和 SQL server 数据库。它包含了如下的多个工具:
? 数据库管理(DBA)
? 数据库监控(Monitoring Pack)
? 数据库诊断 (Spotlight Diagnostics)
? 数据库分析 (Database Analysis)
? SQL优化 (SQL Tuning)
? 空间管理 (Space Management)
? 压力测试 (Load Generator)
? 数据生成 (Data Generator)
? PL/SQL 开发 (TOAD)
? 专家建议 (Knowledge Expert):提供各种错误提示说明
2.使用方法:
Tools/SQL Tunings
(1)建立连接。
在Quest Central主界面上的“Database”树上选择“SQL Server”,然后在下方出现的“Tools”框中选择“SQL Tuning”选项,打开“Lanch SQL Tuning for SQL Server Connections”对话框(图2)。我们在这里建立数据库服务器的连接,以后的分析工作都会在它上面完成。
双击“New Connection”图标,在弹出窗口中输入数据库的信息,单击“OK”,然后单击“Connect”即可。
注:如果有原来建好的链接,那么选择一个,然后直接选择即可
(2)分析原始SQL语句
“Oriangal SQL”文本框内输入需要分析的原始SQL语句,查询出user_id是1724588和1724599的这个2个玩家的所有信息
选择Oraginal Sql,选择get_plan,会对原始句子进行分析,详细分析结果如下:
选择Oraginal Sql,选择execute,会对原始句子进行分析并详细分析结果如下:
执行和分析的结果分别会以表格和图标的形式显示,这些分析可以保存在一个地方,供以后执行参考
(3)进行优化
在右边一列里点击view advice,可以看到涉及3个层面的优化
分别是:Filter sql rewites
Filter dll advice
Filter orher advice
选择其中一种优化方式,点击右面上方的 get advice(灯泡图标),会获得优化建议,那么你可以选择是否要进行优化,可以根据建议的级别进行选择,如果要优化的话,可以选择apply advice,会自动生成Scenario1(应用了你的建议后的脚本) ,当然也可以rename
这样优化就完成了
(4)比较优化结果
如果想比较下优化前后的结果,那么可以点击左上方,execute all,然后点击Execution Statistics看一下分析结果便清楚哪个脚本速度快,从显示看,优化后的脚本比原来脚本时间节省16s,
也可以通过Tuning Solutions 来进行选择
s
(5)学写专家级sql
点击界面左方的“Compare Scenarios”按钮,我们可以比较优化方案和原始SQL中的任意2条SQL语句,SQL Tuning会将它们之间的不同之处以不同颜色表示出来,还可以在下方的“执行计划”中,通过比较两条SQL语句的执行计划的不同,来了解其中的差异
3.小结
SQL Tuning等人工智能自动SQL优化工具的出现,为我们节省出大量的时间和精力。借助这些工具的帮助,书写专家级的SQL语句将不再是难事。