你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
没有找到相关结果
戴俊青 - 微软数据库开发和性能调优 2013-07-23 回答
赞同来自: 冰咖啡 、梁勇 、贤者以其昭昭 、子呆不呆
要回复问题请先登录或注册
微软数据库开发和性能调优
推荐一份编程学习资源,包含了各类编程语言学习进阶路线图、视频教程、配套书籍文档、数百份面经,各大厂面试真题。编程语言包括:Java、前端、PHP、Python、Linux运维、软件测试、数据解构与算法、C语言、go语言等
微信扫码关注公众号,发送 "编程"获取资源
1 个回复
戴俊青 - 微软数据库开发和性能调优 2013-07-23 回答
赞同来自: 冰咖啡 、梁勇 、贤者以其昭昭 、子呆不呆
解析器生成的解析书被传递到代数化器处理,代数化器解析不同的对象的所有名称,这些检查的对象包括:引用表,列,还有被处理的数据类型,还有检查的聚合的位置。对于同一批提交的语句,与解析不同的是,如果前面语句是正确的,但后面的语句出错,则前面的语句执行,后面的语句被撤销。如果该查询还包含一个隐含的数据转化,规范化进程在查询树种还添加一个正确的步骤,并且该进程还执行一些基于语法的优化。
然后根据查询的复杂度,包括对引用表的可用的索引数量,查询处理树包含的查询可能的多种执行方式。完全比较所有执行查询方式的开销,有时候会花费很多开销。所以为了避免与查询实际执行开销相比花费过高的优化开销,优化器采用不同的技术:无用计划匹配,多阶段优化,并行计划优化。优化器根据查询的复杂度,各种索引以及CPU个数来选择不同的技术去比较,最终生成查询计划保存在计划缓冲中供未来使用。