浅析数据库系统中SQL语句的优化技术
摘要:sql语句的优化是将性能低下的sql语句转换成目的一样的性能优异的sql语句。人工智能自动sql优化就是使用人工智能技术,自动对sql语句进展重写,从而找到性能最好的等效sql语句。
析产生写法上的改良建议。
人工智能自动sql优化出如今90年代末。目前在商用数据库领域,letehnlgyliited(灵高科研)拥有该技术,并提供使用该技术的自动优化产品lesqlexpert,它支持rale、sybase、ssqlserver和ibdb2数据库平台。该产品针对数据库应用的开发和维护阶段提供的模块有:sql语法优化器、pl/sql集成化开发调试环境(ide)、扫描器、数据库监视器等。其核心模块sql语法优化器的工作原理为:①输入一条源sql语句;②“人工智能反响式搜索引擎〞对输入的sql语句,结合检测到的数据库构造和索引进展重写,产生n条等效的sql语句输出;③产生的n条等效sql语句再送入“人工智能反响式搜索引擎〞进展重写,直至无法产生新的输出或搜索限额满;④对输出的sql语句进展过滤,选出具有不同执行方案的sql语句;⑤对得到的sql语句进展批量测试,找出性能最好的sql语句。
2lesqlexpert自动优化实例
(也可以通过内带的扫描器或监视器获得sql语句):
seletunt(*)
freplyee
sheresexists(selet'x'
frdepartent
sheresep_dept=dpt_id
anddpt_naelike'a%')
andep_idin(seletsal_ep_id
frep_sal_histb
sheressal_salary>70000)
按下“优化〞按钮后,经过10几秒,sqlexpert就完成了优化的过程,并在这10几秒的时间里重写产生了2267条等价的sql语句,其中136条sql语句有不同的执行方案。
接下来,我们可以对自动重写产生的136条sql语句进展批运行测试,以选出性能最正确的等效sql语句。按下“批运行〞按钮,在“终止条件〞页选择“最正确运行时间sql语句〞,按“确定〞。
经过几分钟的测试运行后,我们可以发现sql124的运行时间和反响时间最短。(,)。如今我们就可以把sql124放入源代码中,完毕一条sql语句的优化工作了。
“边做边学式训练〞提升sql开发程度
lesqlexpert不仅可以找到最正确的sql语句,它所提供的“边做边学式训练〞还可以教开发人员和数据库管理员如何写出性能最好的sql语句。lesqlexpert的“sql比拟器〞可以标明源sql和待选sql间的不同之处。
以上面优化的结果为例,为了查看源sql语句和sql124在写法上有什么不同,我们可以按下“比拟器〞按钮,对sql124和源sql语句进展比拟。“sql比拟器〞将sql124相对于源sql语句的不同之处以蓝颜色表示了出来。假如选择“双向比拟〞复选框,“sql比拟器〞可以
浅析数据库系统中SQL语句的优化技术 来自淘豆网www.taodocs.com转载请标明出处.