擦亮自己的眼睛去看SQL Server之简单Select

发表于:2011-7-04 10:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小军人    来源:51Testing软件测试网采编

分享:

  结果如下:

  继续:

  1. select * from Test  
  2. select * from sys.dm_exec_query_optimizer_info where counter in('optimizations','trivial plan','search 0','search 1','search 2')

  结果如下:

  发现了吧,trival plan类型计数+1,说明优化器对select * from Test进行优化时是普通计划。

  5、阶段2:检验所有可能的计划,并且选择达到检验的时间限制时开销最小的计划。

  执行:这个计划被调度执行,这个涉及到SQLOS不在本篇文章讨论范围,只要先简单理解为交给CPU执行。

  三、结尾

  其中这个语句还有很多地方可以分析,比较在这条语句执行时,加锁以及如何被调度执行。这些还是希望在放在后面的章节中解释。这篇文章主要是谈到了SQLServer如何对SQL进行解析优化的。仔细研究,你会发现SQLServer的查询优化器做了很多优化措施当然其他数据库也类似的组件。其实你会发现这些对于我们大部分开发人员都是屏蔽的。屏蔽是一种进步,java、.net的垃圾回收屏蔽了开发人员对内存的管理,那SQLServer在这里屏蔽了什么呢,这需要研究数据库历史。只有研究历史,才能站在一个较高的角度知道现在的数据库为什么是现在的样子。

  今天分析就到此结束,文中如有描述不当的地方,欢迎指出。共同进步才是硬道理。

33/3<123
2023测试行业从业人员调查问卷已开启,千元大奖正在等你~

精彩评论

  • ferrylu2011
    2011-7-31 09:40:36

    项目背景:项目是商业智能分析系统,期间会有数据挖掘方面工具的使用,更多的是完成对数据库的使用
    如果您熟悉oracle和sqlserver数据库,对SQL语句熟练掌握,愿意从事数据库测试工作可以联系我
    项目团队:20人左右的团队规模
    基本要求:熟练掌握测试流程和方法:包括用例编写执行。有数据库测试类型的项目经验,优先。熟练SQL语句
    工作地点:北京上地软件园(西二旗城铁对面)
    有考虑这么方面工作的朋友,可以加我qq具体咨询下,希望有合作机会:1483620344
    有正在求职的朋友,也可以推荐,推荐有奖金。
    符合以下三点,和职位比较匹配:
    1.做过数据库项目的测试,熟练SQL语句
    2.有过一定的数据库开发经验,愿意从事数据库测试工作
    3.有过Java 或者ASP.NET 结合数据库的开发工作,愿意转到数据库工作的方向,
    可以加我qq:1483620344  谢谢

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号