用人工智能技术自动对SQL语句进行重写

上传人:daj****de 文档编号:168932041 上传时间:2022-11-13 格式:DOCX 页数:4 大小:13.11KB
收藏 版权申诉 举报 下载
用人工智能技术自动对SQL语句进行重写_第1页
第1页 / 共4页
用人工智能技术自动对SQL语句进行重写_第2页
第2页 / 共4页
用人工智能技术自动对SQL语句进行重写_第3页
第3页 / 共4页
资源描述:

《用人工智能技术自动对SQL语句进行重写》由会员分享,可在线阅读,更多相关《用人工智能技术自动对SQL语句进行重写(4页珍藏版)》请在装配图网上搜索。

1、用人工智能技术自动对SQL语句进行重写人工智能自动SQL优化就是使用人工智能技术,自动对SQL语句进行重写,从而找到 性能最好的等效 SQL 语句。数据库性能的优化一个数据库系统的生命周期可以分成:设计、开发和成品三个阶段。在设计阶段进行数 据库性能优化的成本最低,收益最大。在成品阶段进行数据库性能优化的成本最高,收益最 小。数据库的优化通常可以通过对网络、硬件、操作系统、数据库参数和应用程序的优化来 进行。最常见的优化手段就是对硬件的升级。根据统计,对网络、硬件、操作系统、数据库 参数进行优化所获得的性能提升,全部加起来只占数据库系统性能提升的 40%左右,其余的 60%系统性能提升来自对应

2、用程序的优化。许多优化专家认为,对应用程序的优化可以得到 80%的系统性能的提升。应用程序的优化应用程序的优化通常可分为两个方面:源代码和SQL语句。由于涉及到对程序逻辑的 改变,源代码的优化在时间成本和风险上代价很高,而对数据库系统性能的提升收效有限。为什么要优化 SQL 语句.SQL语句是对数据库进行操作的惟一途径,对数据库系统的性能起着决定性的作用。. SQL 语句消耗了 70%至 90%的数据库资源。.SQL语句独立于程序设计逻辑,对SQL语句进行优化不会影响程序逻辑。. SQL 语句有不同的写法,在性能上的差异非常大。. SQL 语句易学,但难精通。优化SQL语句的传统方法是通过手工

3、重写来对SQL语句进行优化DBA或资深程序员 通过对SQL语句执行计划的分析,依靠经验,尝试重写SQL语句,然后对结果和性能进行 比较,以试图找到性能较佳的SQL语句。这种传统上的作法无法找出SQL语句的所有可能 写法,且依赖于人的经验,非常耗费时间。SQL 优化技术的发展历程第一代SQL优化工具是执行计划分析工具。这类工具针对输入的SQL语句,从数据库 提取执行计划,并解释执行计划中关键字的含义。第二代 SQL 优化工具只能提供增加索引的建议,它通过对输入的 SQL 语句的执行计划 的分析,来产生是否要增加索引的建议。第三代 SQL 优化工具不仅分析输入 SQL 语句的执行计划,还对输入的

4、SQL 语句本身进 行语法分析,经过分析产生写法上的改进建议。人工智能自动 SQL 优化人工智能自动 SQL 优化出现在 90 年代末。目前在商用数据库领域, LECCO Technology Limited(灵高科研有限公司)拥有该技术,并提供使用该技术的自动优化产品LECCO SQL Expert,它支持Oracle、Sybase、MS SQL Server和IBM DB2数据库平台。该产品针对数据 库应用的开发和维护阶段提供的模块有:SQL语法优化器、PL/SQL集成化开发调试环境 (IDE)、扫描器、数据库监视器等。其核心模块SQL语法优化器的工作原理为:输入一条 源SQL语句;“人工

5、智能反馈式搜索引擎”对输入的SQL语句,结合检测到的数据库结构 和索引进行重写,产生N条等效的SQL语句输出;产生的N条等效SQL语句再送入“人 工智能反馈式搜索引擎”进行重写,直至无法产生新的输出或搜索限额满;对输出的SQL 语句进行过滤,选出具有不同执行计划的SQL语句;对得到的SQL语句进行批量测试, 找出性能最好的 SQL 语句。LECCO SQL Expert 自动优化实例假设我们从源代码中抽取出这条SQL语句(也可以通过内带的扫描器或监视器获得SQL 语句):SELECT COUNT(*)FROM EMPLOYEEswheresEXISTS (SELECT XFROM DEPART

6、MENTswheresEMP_DEPT=DPT_IDAND DPT_NAME LIKE AC%)AND EMP_ID IN (SELECT SAL_EMP_IDFROM EMP_SAL_HIST BswheresSAL_SALARY 70000)按下“优化”按钮后,经过10几秒,SQL Expert就完成了优化的过程,并在这10几秒的 时间里重写产生了 2267条等价的SQL语句,其中136条SQL语句有不同的执行计划。接下来,我们可以对自动重写产生的136条SQL语句进行批运行测试,以选出性能最 佳的等效SQL语句。按下“批运行”按钮,在“终止条件”页选择“最佳运行时间SQL语句”, 按“确

7、定”。经过几分钟的测试运行后,我们可以发现SQL124的运行时间和反应时间最短。运行 速度约有22.75倍的提升(源SQL语句运行时间为2.73 秒, SQL124运行时间为0.12秒)。现 在我们就可以把SQL124放入源代码中,结束一条SQL语句的优化工作了。“边做边学式训练”提升 SQL 开发水平LECCO SQL Expert不仅能够找到最佳的SQL语句,它所提供的“边做边学式训练”还 能够教开发人员和数据库管理员如何写出性能最好的SQL语句LECCO SQL Expert的“SQL 比较器”可以标明源SQL和待选SQL间的不同之处。以上面优化的结果为例,为了查看源SQL语句和SQL1

8、24在写法上有什么不同,我们 可以按下“比较器”按钮,对SQL124和源SQL语句进行比较。“SQL比较器”将SQL124相 对于源SQL语句的不同之处以蓝颜色表示了出来。如果选择“双向比较”复选框,“SQL比 较器”可以将两条SQL语句的不同之处以蓝色表示。当然,我们也可以从源语句和重写后的 SQL 语句中任选两条进行比较。从比较的结果可以看到,重写后的SQL124把第一个Exists改写成了 In;在字段DPT_ID 上进行了合并空字符串的操作,以诱导数据库先执行子查询中的(SELECT DPT_ID|FROM DEPARTMENTWHERE DPT_NAME LIKE AC%)在子查询完

9、成后,再与EMPLOYEE表进行嵌套循环连接(Nested Loop Join)。如果觉得对写法的改变难以理解,还可以点中“执行计划”复选框,通过比较两条SQL 语句的执行计划的不同,来了解其中的差异。在查看执行计划过程中,如果有什么不明白的 地方,可以点中“SQL信息按钮”,再点击执行计划看不明白的地方,LECCO SQL Expert的 上下文敏感帮助系统将提供执行计划该处的解释。在“SQL比较器”中,选中“统计信息”复选框后,可得到详细的两条SQL语句运行时的 统计信息比较,这对于学习不同的SQL写法对数据库资源的消耗很有帮助。LECCO SQL Expert 优化模块的特点LECCO

10、SQL Expert优化模块的特点主要表现为:自动优化SQL语句;以独家的人工 智能知识库“反馈式搜索引擎”来重写性能优异的SQL语句;找出所有等效的SQL语句及可 能的执行计划;保证产生相同的结果;先进的SQL语法分析器能处理最复杂的SQL语句; 可以重写SELECT、SELECT INTO、UPDATE、INSERT和DELETE语句;通过测试运行, 为应用程序和数据库自动找到性能最好的SQL语句;提供微秒级的计时,能够优化Web应 用程序和有大量用户的在线事务处理中运行时间很短的SQL语句;为开发人员提供“边做边 学式训练”,迅速提高开发人员的SQL编程技能;提供上下文敏感的执行计划帮助

11、系统和 SQL运行状态帮助;不是猜测或建议,而是独一无二的SQL重写解决方案。写出专家级的 SQL 语句LECCO SQL Expert的出现,使SQL的优化变得极其简单,只要能够写出SQL语句, 它就能帮用户找到最好性能的写法。LECCO SQL Expert不仅能在很短的时间内找到所有可 能的优化方案,而且能够通过实际测试,确定最有效的优化方案。同以往的数据库优化手段 相比较,LECCO SQL Expert将数据库优化技术带到了一个崭新的技术高度,依赖人的经验、 耗费大量时间、受人的思维束缚的数据库优化手段已经被高效、省时且准确的自动优化软件 所取代了。通过内建的“LECCO小助手”的帮助,即使是SQL的开发新手,也能快速且简单 地写出专家级的SQL语句。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!