- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 触发器
<br />触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效。<br />触发器与普通存储过程的不同之处在于:触发器的执行是由事件触发的,而普通存储过程是由命令调用执行的。<br /> <br />SQL Server提供了两种触发器选项:<br /> <br />1.DML触发器 当数据库服务器中发生数据操作语言(DML)事件时要执行的操作。<br />DML事件包括对表或视图发出的update,insert,delete语句。<br />DML触发器用于在数据被修改时强制执行业务规
2010-08-31 17:11:00 546
原创 存储过程
<br />1.什么是存储过程?<br />存储过程是Transact-sql语句的预编译集合,这些语句在一个名称下存储并作为一个单元进行处理。<br />存储过程由参数,编程语句和返回值组成。<br /> <br />2.存储过程的优势:<br /><1>允许模块化程序设计<br />只需创建一个过程并将其存储在数据库中,就可以在程序中任意调用,可独立于源代码而单独修改。<br /> <br /><2>允许更快执行<br />存储过程将比T-sql批代码的执行要快。<br />在创建存储过程时对其进行分析
2010-08-31 16:41:00 649
原创 脏读 脏数据
<br />脏读指一个事务读取其他事务正在更新的数据,如果第二个事务的更新过程尚未完成,则第一个事务所读取到的只是一个过程中的数据,而并非真实的数据。<br />脏数据在临时更新(脏读)中产生。事务A更新了某个数据项X,但是由于某种原因,事务A出现了问题,于是要把A回滚。但是在回滚之前,另一个事务B读取了数据项X的值(A更新后),A回滚了事务,数据项恢复了原值。事务B读取的就是数据项X的就是一个“临时”的值,就是脏数据。<br />
2010-08-31 16:29:00 1411
原创 聚集索引的设计原则
<br />一般而言,在聚集索引中使用的列越少越好,并且应该遵循下面的设计原则创建聚集索引:<br />1.该列的数值是唯一的或很少有重复记录<br />2.经常使用between and按顺序查询的列<br />3.定义为IDENTITY的唯一列<br />4.经常用于对数据进行排序的列<br /> <br />不宜在频繁变化的列上创建索引,也不适合对多个列创建组合的聚集索引。<br />
2010-08-26 10:06:00 1056
原创 不宜创建索引的情形
<br />1.对于经常插入,修改和删除数据的表,不宜创建过多的索引。<br /> 因为表中的数据发生变化时,索引都要做相应调整,索引越多,需要花费的时间也越多。<br /> <br />2.对于数据量比较小的表,不必创建索引。<br /> 因为查询优化器在搜索索引时所花费的时间可能会大于遍历全表的数据所需要的时间。
2010-08-26 09:40:00 1053
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人