上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 28 下一页
摘要: 假设一个业务规则规定某些情况不允许存在.并且不允许使用外键进行限制,此时Instead of 触发器可以作为备选答案,但是通常这类触发器在以后带来的麻烦会多于其带来的便利。还有一种解决方式是使用包含唯一索引的索引视图与只有一个两行的dummy table进行连接。 假设你有如下两个表,地区和办事处 Region表 RegionId RegionName IsActive EffectiveDate ExpirationDate 1 ... 阅读全文
posted @ 2012-08-21 09:18 CareySon 阅读(3472) 评论(8) 推荐(4)
摘要: 简介 硬盘作为现在计算机内部最后的机械存储部件,速度相比较内存和Cache而言会慢好几个数量级。但所幸的是,硬盘的成本是远远低于内存的。因此硬盘作为永久存储器是比较合适的,所幸的是为了克服硬盘慢速带来的问题,操作系统会对硬盘的使用有一个优化,下面让我们先来看硬盘的原理。 硬盘的原理简介 一个典型的硬盘如图1所示。 图1.一个典型的硬盘 ... 阅读全文
posted @ 2012-08-20 09:01 CareySon 阅读(11253) 评论(23) 推荐(35)
摘要: 简介 理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理。 二级存储(secondary storage) 对于计算机来说,存储体系是分层级的。离CPU越近的地方速度愉快,但容量... 阅读全文
posted @ 2012-08-16 07:38 CareySon 阅读(47220) 评论(50) 推荐(75)
摘要: 正如”随机数的生成过程非常重要因此我们不能对其视而不见”(引自Robert R -橡树岭国家实验室),我们希望占用您一点点宝贵的时间在基于SQL Server MVP Jeff Moden的成果的基础上完成这项工作。对于使用SQL来产生随机数来说,我们会重点讲解从均匀分布随机数(non-uniformly distributed random numbers)的基础上生成非均匀分布随机数(uniformly distributed random numbers);包括一些统计分布的基础来帮你起步。 正如我们所知,随机数在仿真中非常重要(尤其是蒙特卡洛仿真法),还有随机数在密码... 阅读全文
posted @ 2012-07-11 16:25 CareySon 阅读(7637) 评论(3) 推荐(6)
摘要: 简介 本系列文章的上一篇对复制是什么做了一个概述。本篇文章根据发布服务器,分发服务器和订阅服务器的组织方式和复制类型来讲述常用复制的几种模式。 模式的选择 选择复制的模式取决于多个方面。首先需要考虑具体的业务需求,在此之后还需要考虑硬件和网络的限制。对于业务需求来说考虑的角度可以分为两个部分:自治和延时。自治是指”数据不被影响的程度”,比如说一个业务场景:公司的总部在北京,发布服务器和分发服务器全在总部,各个地区的分部有订阅服务器,使用快照复制来接收推送订阅总部每个月一次的公司员工通讯录。在这个业务场景中,订阅服务器仅仅是接收发布服务器发布的通讯录信息,对于这些信... 阅读全文
posted @ 2012-06-25 16:39 CareySon 阅读(9389) 评论(11) 推荐(16)
摘要: 简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是一些列技术的集合,包括从存储转发数据到同步数据到维护数据一致性。使用复制功能不仅仅需要你对业务的熟悉,还需要对复制功能的整体有一个全面的了解,本系列文章旨在对SQL Server中的复制进行一个简单全面的探讨。(PS:在我的上篇文章中我发现某... 阅读全文
posted @ 2012-06-20 11:30 CareySon 阅读(40831) 评论(31) 推荐(42)
摘要: 简介 SQL Server每个表中各列的数据类型的选择通常显得很简单,但是对于具体数据类型的选择的不同对性能的影响还是略有差别。本篇文章对SQL Server表列数据类型的选择进行一些探索。 一些数据存储的基础知识 在SQL Server中,数据的存储以页为单位。八个页为一个区。一页为8K,一个区为64K,这个意味着1M的空间可以容纳16个区。如图1所示: 图1.SQL Server中的页和区 如图1(PS:发现用windows自带的画图程序画博客中的图片也不错)可以看出,SQL Server中的分配单元分为三种,分别为存储行内... 阅读全文
posted @ 2012-06-14 16:56 CareySon 阅读(10703) 评论(37) 推荐(34)
摘要: 关于表变量是什么(和表变量不是什么),以及和临时表的比较让很多人非常困惑。虽然网上已经有了很多关于它们的文章,但我并没有发现一篇比较全面的。在本篇文章中,我们将探索表变量和临时表是什么(以及不是什么),然后我们通过使用临时表和表变量对其解密。 表变量 表变量在SQL Server 2000中首次被引入,那么,什么是表变量呢?微软在BOL (Declare @local_v... 阅读全文
posted @ 2012-06-11 12:45 CareySon 阅读(17778) 评论(13) 推荐(33)
摘要: 将数据库中所有表的所有的内容选一遍: IF object_id('tempdb..#temp') is not null BEGIN DROP TABLE #temp ENDDECLARE @index int DECLARE @count int DECLARE @schemaname varchar(50) DECLARE @tablen... 阅读全文
posted @ 2012-05-25 14:46 CareySon 阅读(2877) 评论(2) 推荐(1)
摘要: 简介 当查询优化器(Query Optimizer)将T-SQL语句解析后并从执行计划中选择最低消耗的执行计划后,具体的执行就会交由执行引擎(Execution Engine)来进行执行。本文旨在分类讲述执行计划中每一种操作的相关信息。 数据访问操作 首先最基本的操作就是访问数据。这既可以通过直接访问表,也可以通过访问索引来进行。表内数据的组织方式分为堆(Heap)和B树,其中表中没有建立聚集索引时数据是通过堆进行组织的,这个是无序的,表中建立聚集索引后和非聚集索引的数据都是以B树方式进行组织,这种方式数据是有序存储的。通常来说,非聚集索引仅仅包含整个表的部分列,对... 阅读全文
posted @ 2012-05-23 22:48 CareySon 阅读(12682) 评论(22) 推荐(45)
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 28 下一页