2016年8月30日
摘要: 游标是面向行的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能。 在性能上,游标会占有更多的内存,减少可用的并发,占用带宽,锁定资源,当然还有更多的代码量。 用一个比喻来说明为什么游标会占用更多的资源。当你从ATM机取款的时候,是一次取1000的效率更高呢,还是10次100呢? 一、创 阅读全文
posted @ 2016-08-30 14:57 Now,DayBreak 阅读(532) 评论(0) 推荐(0)
摘要: 和存储过程很相似,用户自定义函数也是一组有序的T-SQL语句,UDF被预先优化和编译并且作为一个单元进行调用。UDF和存储过程的主要区别在于返回结果的方式。 使用UDF时可传入参数,但不可传出参数。输出参数的概念被改为健壮的返回值取代了。和系统函数一样,可以返回标量值,这个值的好处是它并不像在存储过 阅读全文
posted @ 2016-08-30 14:42 Now,DayBreak 阅读(1912) 评论(0) 推荐(0)
摘要: 事务全部是关于原子性的。原子性是指可以把一些事情当做一个单元来看待。从数据库的角度看,它是指应全部执行或全部都不执行的一条或多条语句的最小组合。 事务要有非常明确的开始和结束点。SQL Server中的每一条SELECT、INSERT、UPDATE和DELETE语句都是隐式事务的一部分。即使只发出一 阅读全文
posted @ 2016-08-30 14:24 Now,DayBreak 阅读(811) 评论(0) 推荐(0)
摘要: 触发器可以做很多事情,但也会带来很多问题。正确的使用在于在适当的时候使用,而不要在不适当的时候使用它们。 触发器的一些常见用途如下: [1] 弹性参照完整性:实现很多DRI不能实现的操作(例如,跨数据库或服务器的参照完整性以及很多复杂的关系类型)。 [2] 创建审计跟踪:这意味写出的记录不仅跟踪大多 阅读全文
posted @ 2016-08-30 13:11 Now,DayBreak 阅读(4192) 评论(0) 推荐(1)
摘要: 一、表变量 表变量在SQL Server 2000中首次被引入。表变量的具体定义包括列定义,列名,数据类型和约束。而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键约束不能在表变量中使用)。定义表变量的语句是正常使用Create Table定义表语句的子集。只是表变 阅读全文
posted @ 2016-08-30 12:44 Now,DayBreak 阅读(12589) 评论(0) 推荐(1)
摘要: 通过以下语句清楚数据缓存并开启IO统计: 示例: 一、相关定义 SQL SERVER 数据库引擎当遇到一个查询语句时,SQL SERVER数据库引擎会分别生成执行计划(占用CPU和内存资源),同时存储引擎读取 IAM 以生成必须要读取的磁盘地址排序列表。这使 SQL Server 得以将其 I/O  阅读全文
posted @ 2016-08-30 11:24 Now,DayBreak 阅读(6086) 评论(0) 推荐(0)
摘要: 视图实际上就是一个存储查询,重点是可以筛选、组合和匹配来自基本表(或者其他视图)的数据,从而创建在很多方面像另一个基表那样起作用的对象。可以创建一个简单的查询,仅仅从一个表中选择几列,而忽略其他列;或者也可以创建一个复杂的查询,连接几个表,使的这些表看起来像一个表。 视图具体语法: 一、视图定义 视 阅读全文
posted @ 2016-08-30 10:24 Now,DayBreak 阅读(916) 评论(0) 推荐(0)
摘要: 1、区段 区段(extent)是用来为表和索引分配空间的基本存储单元。它由8个连续的64KB数据页组成。 基于区段(而不是实际使用空间)分配空间的概念的要点: (1) 一旦区段已满,那么下一记录将要占据的空间不是记录的大小,而是整个新区段的大小。一次分配一个区段而不是分配一个记录。 (2) 通过预分 阅读全文
posted @ 2016-08-30 10:20 Now,DayBreak 阅读(856) 评论(0) 推荐(0)
摘要: 一、约束的分类 在SQLServer中,有3种不同类型的约束。 1、实体约束:关于行的,比如某一行出现的值就不允许出现在其他行,例如主键。 2、域约束:关于列的,对于所有行,某一列有那些约束,例如CHECK约束。 3、参照完整性约束:如果某列的值必须与其他列的值匹配,那就意味着需要一个参照完整性约束 阅读全文
posted @ 2016-08-30 09:54 Now,DayBreak 阅读(271) 评论(0) 推荐(0)
摘要: 当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。 一、存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控制语句和 阅读全文
posted @ 2016-08-30 09:28 Now,DayBreak 阅读(847) 评论(0) 推荐(0)