摘要: 查询性能取决于优化器确定的执行计划的效率,高效的执行计划被缓存下来重复使用可以提高查询效率。但是一些非参数化查询生成的执行计划,重复使用率很低,在高并发的环境下,为了维护这些查询计划会消耗大量的服务器资源。本文使用AdventureWorks做为测试库,通过一些简单脚本来揭示SQL Server执行计划的一些有趣特征。SQL Server处理一个查询请求流程:T-SQL编写-->解析器(Parser)-->代数优化器(Algebrizer)-->查询优化器-->执行计划生成,缓冲和hash计划生成-->执行查询。可以通过访问动态管理视图sys.dm_exec_ca 阅读全文
posted @ 2011-04-06 09:20 秋无语 阅读(4261) 评论(3) 推荐(2) 编辑
摘要: SQL Server中一个页面包含8KB数据,连续的8个页面组成一个区(extent)。数据的insert和update可以引起页面分割产生碎片。如果分割后的两个页面在同一个区内,这种碎片称为内部碎片,如果分割后的两个页面处于不同的区内,这种碎片称为外部碎片。在索引的叶子页面内的数据总是有序的。假如一个页面内有键值为10,20,30,40四条记录而且此页面已经被装满了。现在要把键值为25的记录插进来,只能插入20和30之间。于是导致此页面分割,产生一个新页面,原页面的一部分数据将被移动到这个新页面内。如果产生的这个新页面和原来的页面在同一个区内,那么就是内部碎片,否则,产生的就是外部碎片。1、 阅读全文
posted @ 2011-04-06 08:41 秋无语 阅读(1866) 评论(0) 推荐(1) 编辑
摘要: 不说闲话了,直接hello了。创建服务1、 选择file-->new-->project-->empty project创建一空项目,把solution命名为wcfHello。2、 右击wcfHello项目,add-->new item添加接口IHello。在属性页把output type改为class library。3、 在接口中添加一方法,public interface IHelloService { string HelloWorld(); }4、 Add References添加对程序集System.ServiceModel的引用。using System. 阅读全文
posted @ 2011-04-06 08:17 秋无语 阅读(646) 评论(0) 推荐(0) 编辑