同一个功能要求的SQL语句可有不同实现方式,它们之间差别在哪里?

 我来答
nietiezheng
2013-10-16 · TA获得超过5536个赞
知道大有可为答主
回答量:3132
采纳率:87%
帮助的人:1231万
展开全部
区别在数据库中生成的语法解析树和执行计划不同。
在数据库中,SQL语句首先会被语法分析解析成语法解析树,此时不同的SQL语句肯定不同,之后语法解析树会被使用关系代数操作替换为逻辑执行计划,每个语法解析树都有对应的逻辑执行计划。数据库会进一步对逻辑执行计划进行优化,产生执行代价小的逻辑执行计划,此时,对于不同的SQL语句,可能优化后的逻辑执行计划是相同的,也可能是不同的。对于逻辑执行计划,数据库会根据统计信息、索引情况,决定逻辑执行计划中每个操作符的物理操作符,以及操作符的执行顺序,生成最终的物理执行计划。不同的SQL语句,一旦生成了不同的物理执行计划,其执行效率将产生很大的差别,也就是获得查询结果的时间差别很大。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式