2014年10月22日

SQL Server 行的删除与修改-------------(未完待续P222 deep SQL Server 222 )

摘要: 删除: 1、堆表:当行被删除时,不会自动重新组织页面上的空间。删除行时不会从物理页面上删除, 而只是把行偏移设置为 0 。表示空间没有使用。除了页面上没有被回收空间之外,堆中的 空白页也常常不会被回收。 2、聚集表:当数据页面的数据被删除完时,整修页面将被回收,(但是至少会留... 阅读全文

posted @ 2014-10-22 21:43 蒋乐兴的技术随笔 阅读(248) 评论(0) 推荐(0) 编辑

SQL Server一些重要视图 1

摘要: 第一个: sys.indexs 每个堆与索引在它上有一行。第二个: sys.partitions每个堆与索引的每一个分区返回一行。每一张表最多可以有1000个区。第三个: sys. allocation_units 一个分区中一组特殊类型的页称为一个分配单元。(行内数据页,行溢出页... 阅读全文

posted @ 2014-10-22 21:03 蒋乐兴的技术随笔 阅读(299) 评论(0) 推荐(0) 编辑

SQL Server 查看数据页面

摘要: 第一步: 找到表的第一页dbcc ind(db_name,table_name,-1); 例子、 dbcc ind(studio,person,-1);# pageFID 是文件号 pagePID 页面号。 第二步: 查看页面、 dbcc traceon(3604)# ... 阅读全文

posted @ 2014-10-22 20:47 蒋乐兴的技术随笔 阅读(588) 评论(0) 推荐(0) 编辑

SQL Server 向堆表中插入数据的过程

摘要: 堆表中 IAM 记录着的数据页,表的各个数据页之间没有联系。也就是说一个页面它不会知道自己的前一页是谁,也不知道自己的后一页是谁。插入数据时先找到IAM页,再由pfs(page free space)决定插入到哪里! 阅读全文

posted @ 2014-10-22 20:27 蒋乐兴的技术随笔 阅读(385) 评论(0) 推荐(0) 编辑

SQL Server 修改表

摘要: alter table 可能用三种方式来完成。第一种: 只修改元数据。 1、删除一个列。 2、一个行被增加而且空值被认为是所有行的新值。 3、当可变长度的列的长度增加时。 4、不允许为空的列被允许为空时。第二种: 检查所有数据以保证它们与修... 阅读全文

posted @ 2014-10-22 20:08 蒋乐兴的技术随笔 阅读(432) 评论(0) 推荐(0) 编辑

SQL Server 完成性检查的顺序

摘要: 第一步: 默认值第二步: 违反not null 限制第三步: 判断check约束第四步: 对引用表应用foreign key 检查第五步: 对被引用表做 foreign key 检查第六步: 检查unique 和 primary key 约束的正确性第七步: ... 阅读全文

posted @ 2014-10-22 15:56 蒋乐兴的技术随笔 阅读(161) 评论(0) 推荐(0) 编辑

导航