摘要: 查询计划hash和查询hash 在SQL Server 2008中引入的围绕执行计划和缓冲的新功能被称为查询计划hash和查询hash。这是使用针对查询或查询计划的算法来生成二进制hash值的二进制对象。 可以从sys.dm_exec_query_stats或sys.dm_exec_reques... 阅读全文
posted @ 2014-10-24 17:33 Cat Qi 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 当查询被提交时,SQL Server检查过程缓冲中匹配的执行计划,如果没有找到,SQL Server执行查询编译和优化以生成新的执行计划。 如果执行计划存在于缓冲中,它在私有的执行上下文中重用,这节约了CPU的编译和优化周期。 具有不同过滤条件的相同查询提交到SQL Server时,如:SE... 阅读全文
posted @ 2014-10-24 17:14 Cat Qi 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 一、执行计划缓冲 优化器生成的执行计划保存在SQL Server内存池中的一个特别部分,被称为计划缓冲或过程缓冲。过程缓冲是SQL Server缓存的一部分。在缓冲中保存计划可使SQL Server避免在重新提交相同的查询时再次通过整个查询优化过程运行。SQL Server支持不同的技术,如:计划... 阅读全文
posted @ 2014-10-24 10:12 Cat Qi 阅读(297) 评论(0) 推荐(0) 编辑
摘要: SQL Server使用许多技术来优化资源消耗:基于语法的查询优化;无用计划匹配以避免对简单查询的深度优化;根据当前分布统计的索引和连接策略;多阶段的查询优化以控制优化开销;执行计划缓冲以避免重新生成执行计划; 以上技术按以下顺序执行:解析器;代数化器;查询优化器;执行计划生成,缓冲和hash... 阅读全文
posted @ 2014-10-23 22:06 Cat Qi 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 一、存储结构 在SQL Server中,有许多不同的可用排列规则选项。 二进制:按字符的数字表示形式排序(ASCII码中,用数字32表示空格,用68表示字母"D")。因为所有内容都表示为数字,所以处理起来速度最快,遗憾的是,它并不总是如人们所想象,在WHERE子句中进行比较时,使用该选项会造成严... 阅读全文
posted @ 2014-10-23 16:28 Cat Qi 阅读(956) 评论(1) 推荐(0) 编辑
摘要: 要理解执行计划,怎么也得先理解,那各种各样的名词吧。鉴于自己还不是很了解。本文打算作为只写懂的,不懂的懂了才写。 在开头要先说明,第一次看执行计划要注意,SQL Server的执行计划是从右向左看的。 名词解析: 扫描:逐行遍历数据。 先建立一张表,并给大家看看大概是什么样子的。 CR... 阅读全文
posted @ 2014-10-23 16:16 Cat Qi 阅读(2733) 评论(0) 推荐(0) 编辑
摘要: 1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。3. Redis支持数据的备份,即master-slave模式的数据备份。4. Redis支持... 阅读全文
posted @ 2014-10-16 15:57 Cat Qi 阅读(608) 评论(0) 推荐(1) 编辑
摘要: 动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等。这些情况下,动态请求返回的数据一般不是已拼好的HTML就是JSON或XML,总之不在浏览器端拼数据就在服务器端拼数据。不过,从传输量方面来看,返回HTML不划算,而在web传输方面,现在更多的是使... 阅读全文
posted @ 2014-09-29 22:59 Cat Qi 阅读(312) 评论(0) 推荐(0) 编辑
摘要: Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的。 Html.RenderPartial是直接将用户控件嵌入到界面上:或注意:用第一种方法时,用户控件必须放在调用者同一目录下,也可以放在View/Shared中。Html.RenderA... 阅读全文
posted @ 2014-09-28 21:01 Cat Qi 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 在MVC 3中 数据验证,已经应用的非常普遍,我们在web form时代需要在View端通过js来验证每个需要验证的控件值,并且这种验证的可用性很低。但是来到了MVC 新时代,我们可以通过MVC提供的数据验证Attribute来进行我们的数据验证。并且MVC 提供了客户端和服务器端 双层的验证,只有... 阅读全文
posted @ 2014-09-26 13:46 Cat Qi 阅读(481) 评论(0) 推荐(0) 编辑
摘要: T-SQL的IN:Select ProductID, ProductName, CategoryIDFrom dbo.ProductsWhere CategoryID in (1, 2)T-SQL的NOT IN:Select ProductID, ProductName, CategoryIDFro... 阅读全文
posted @ 2014-09-15 16:31 Cat Qi 阅读(15562) 评论(0) 推荐(1) 编辑
摘要: 概述在开发面向数据的软件时我们常常为了解决业务问题实体、关系和逻辑构建模型而费尽心机,ORM的产生为我们提供了一种优雅的解决方案。ADO.NET Entity Framework是.NET开发中一种由ADO.NET驱动的ORM框架,使用Entity Framework开发人员可以不必考虑数据的基础数... 阅读全文
posted @ 2014-09-12 10:52 Cat Qi 阅读(835) 评论(0) 推荐(0) 编辑
摘要: SQL Server2005新增crossapply 和outerapply 联接语句,增加这两个东东有啥作用呢?我们知道有个 SQL Server2000中有个crossjoin是用于交叉联接的。实际上增加crossapply 和outerapply 是用于交叉联接表值函数(返回表结果集的函数)的... 阅读全文
posted @ 2014-09-07 22:41 Cat Qi 阅读(3073) 评论(0) 推荐(0) 编辑
摘要: 首先堆栈和堆(托管堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB)堆栈stack 堆栈中存储值类型。堆栈实际上是向下填充,即由高内存地址指向低内存地址填充。堆栈的工作方式是先分配内存的变量后释放(先进后出原则)。堆栈中的变量是从下向上释放,这样就保证了堆栈中先进后出的规则不与... 阅读全文
posted @ 2014-09-05 14:28 Cat Qi 阅读(1996) 评论(0) 推荐(0) 编辑
摘要: GC的前世与今生 虽然本文是以.net作为目标来讲述GC,但是GC的概念并非才诞生不久。早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是GC的第一次出现。Lisp的程序员认为内存管理太重要了,所以不能由程序员自己来管理。但后来的日子里L... 阅读全文
posted @ 2014-09-05 14:20 Cat Qi 阅读(11073) 评论(0) 推荐(0) 编辑
摘要: Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到tab... 阅读全文
posted @ 2014-08-31 15:40 Cat Qi 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 简介 视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口.常规视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata. 视图简单的理解如下: 通过视图,客户端不再需要知道底层table的表结构及其之间的关系。视图提供... 阅读全文
posted @ 2014-08-15 16:13 Cat Qi 阅读(534) 评论(0) 推荐(1) 编辑
摘要: 简介 对于SELECT查询语句来说,通常情况下,为了使T-SQL代码更加简洁和可读,在一个查询中引用另外的结果集都是通过视图而不是子查询来进行分解的.但是,视图是作为系统对象存在数据库中,那对于结果集仅仅需要在存储过程或是用户自定义函数中使用一次的时候,使用视图就显得有些奢侈了. 公用表表达式(Co... 阅读全文
posted @ 2014-08-14 16:57 Cat Qi 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 简介 分区表是在SQL SERVER2005之后的版本引入的特性。这个特性允许把逻辑上的一个表在物理上分为很多部分。而对于SQL SERVER2005之前版本,所谓的分区表仅仅是分布式视图,也就是多个表做union操作. 分区表在逻辑上是一个表,而物理上是多个表.这意味着从用户的角度来看,分区表和普... 阅读全文
posted @ 2014-08-14 11:40 Cat Qi 阅读(798) 评论(0) 推荐(0) 编辑
摘要: //将image转化为二进制 public static byte[] GetByteImage(Image img) { byte[] bt = null; if (!img.Equals(null)... 阅读全文
posted @ 2014-08-13 13:43 Cat Qi 阅读(359) 评论(0) 推荐(0) 编辑
摘要: .Net编程中最经常用的元素,事件必然是其中之一。无论在ASP.NET还是WINFrom开发中,窗体加载(Load),绘制(Paint),初始化(Init)等等。“protected void Page_Load(object sender, EventArgs e)”这段代码相信没有人不熟悉的。细... 阅读全文
posted @ 2014-08-11 23:36 Cat Qi 阅读(2503) 评论(0) 推荐(0) 编辑
摘要: C# 中的委托和事件文中代码在VS2005下通过,由于VS2003(.Net Framework 1.1)不支持隐式的委托变量,所以如果在一个接受委托类型的位置直接赋予方法名,在VS2003下会报错,解决办法是显式的创建一个委托类型的实例(委托变量)。例如:委托类型 委托实例 = new 委托类型(... 阅读全文
posted @ 2014-08-11 11:23 Cat Qi 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 简介 在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已.SQL SERVER通过管理逻辑上的文件组的方式来管理文件.理解文件和文件组的概念对于更好的配置数据库来说是最基本的知识。理解文件和文件组 在SQL SERVER中,通过文... 阅读全文
posted @ 2014-07-28 20:23 Cat Qi 阅读(1863) 评论(0) 推荐(0) 编辑
摘要: 开始 说临时表和表变量,这是一个古老的话题,我们在网上也找到很多的资料阐述两者的特征,优点与缺点。这里我们在SQL Server 2005\SQL Server 2008版本上通过举例子,说明临时表和表变量两者的一些特征,让我们对临时表和表变量有进一步的认识。在本章中,我们将从下面几个方面去进行描述... 阅读全文
posted @ 2014-07-22 16:15 Cat Qi 阅读(3549) 评论(0) 推荐(2) 编辑
摘要: 一、表变量 表变量在SQL Server 2000中首次被引入。表变量的具体定义包括列定义,列名,数据类型和约束。而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键约束不能在表变量中使用)。定义表变量的语句是和正常使用Create Table定义表语句的子集。只是... 阅读全文
posted @ 2014-07-22 13:51 Cat Qi 阅读(562) 评论(0) 推荐(0) 编辑
摘要: CAST和CONVERT都经常被使用。特别提取出来作为一篇文章,方便查找。 CAST、CONVERT都可以执行数据类型转换。在大部分情况下,两者执行同样的功能,不同的是CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能。 既然CONVERT包括了CAST的所有功能,而且CON... 阅读全文
posted @ 2014-07-22 11:12 Cat Qi 阅读(357) 评论(0) 推荐(0) 编辑
摘要: Sales.OrderValues是一个视图,在这里作为测试表。现在想实现,每个订单的数据行新增两个列,totalvalue(所有订单的总金额),custtotalvalue(当前订单的custid的所有订单的总金额)。select orderid,custid,sum(val) as val, ... 阅读全文
posted @ 2014-07-04 00:49 Cat Qi 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 扩展自$.fn.panel.defaults,用 $.fn.datagrid.defaults重写了 defaults 。依赖panelresizablelinkbuttonpagination用法1. 1. $('#tt').datagrid({ 2. url:'datagrid_data.jso... 阅读全文
posted @ 2014-07-01 16:54 Cat Qi 阅读(33957) 评论(1) 推荐(2) 编辑
摘要: Asp.net UpdatePanel 允许用户构建一个丰富的,以客户端为中心的应用程序,引用UpdatePanel控件,能够实现页面的部分刷新,一个包含scriptManage和 UpdatePanel控件的页面自动具有页面部分刷新的功能,不需要写任何的客户端JavaScript代码。一个web... 阅读全文
posted @ 2014-05-30 19:17 Cat Qi 阅读(1097) 评论(0) 推荐(0) 编辑
摘要: 微软AJAX虽然是过时的玩意,但是得维护公司之前的老项目,转载看看。局部更新是ajax技术的最基本,也是最重要的用法,今天大概把asp.net ajax中的局部更新控件 updatepanel的用法记录下,大家可以共同探讨 UpdatePanel控制页面的局部更新,这个更新功能依赖于scriptMa... 阅读全文
posted @ 2014-05-30 16:56 Cat Qi 阅读(349) 评论(0) 推荐(0) 编辑