08 2012 档案
摘要:本篇文章也可以叫做”建立索引时那一列应该放到最前面”。 通常对于索引列的选择的通常准则都是把最高选择率(译者注:所谓选择率指的是在where子句中作为选择条件使用次数的比例来说的)的列放在最前面,我接下来并不是要说这个准则不对,因为这个准则本身是正确的。但通常在给出这个准则的同时并没有同时给出为什么要把最高选择率的列作为索引列以及索引列的顺序。 综上原因,这很有可能导致对索引列选择的误解。比如,在极端情况下,某个人风闻了上述建议后,把所有非聚集索引的的索引键都设置成聚集索引的键(因为这列有很高的选择率),然后开始纠结为什么数据库的性能开始惨不忍睹。 出现上...
阅读全文
摘要:假设一个业务规则规定某些情况不允许存在.并且不允许使用外键进行限制,此时Instead of 触发器可以作为备选答案,但是通常这类触发器在以后带来的麻烦会多于其带来的便利。还有一种解决方式是使用包含唯一索引的索引视图与只有一个两行的dummy table进行连接。 假设你有如下两个表,地区和办事处 Region表 RegionId RegionName IsActive EffectiveDate ExpirationDate 1 ...
阅读全文
摘要:简介 硬盘作为现在计算机内部最后的机械存储部件,速度相比较内存和Cache而言会慢好几个数量级。但所幸的是,硬盘的成本是远远低于内存的。因此硬盘作为永久存储器是比较合适的,所幸的是为了克服硬盘慢速带来的问题,操作系统会对硬盘的使用有一个优化,下面让我们先来看硬盘的原理。 硬盘的原理简介 一个典型的硬盘如图1所示。 图1.一个典型的硬盘 ...
阅读全文
摘要:简介 理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理。 二级存储(secondary storage) 对于计算机来说,存储体系是分层级的。离CPU越近的地方速度愉快,但容量...
阅读全文