博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 7 8 9 10 11 12 13 14 下一页

2010年10月11日

摘要: 在RC级别下select ,对满足条件的数据都加S锁,读取一条释放一个锁update,先发select命令来找对应的数据,然后都加X锁,知道事务结束X锁才释放delete 先发select命令来找对应的数据,然后都加X锁,知道事务结束X锁才释放insert 先把数据插入,然后在检查数据完整一致性,如果有问题就回滚select<---- 重复度矛盾------>update<---... 阅读全文

posted @ 2010-10-11 19:01 qianyz 阅读(494) 评论(2) 推荐(0) 编辑

摘要: 从数据库读取数据的时候一定要注意数据的类型兼容性就.NET和SQL 来说,数据的兼容性有三个数据类型需要注意, decaimal SQL中的范围比.NET中的要大 datetime .NET中的要比SQL中的精度高, String .NET中和SQL中的长度不一样,因此在获取和这三个数据类型相关的数据的时候,一定要注意不要被数据截断。SQL中的所有数据类型都是可空的,而.NET中只有引用类型是可空... 阅读全文

posted @ 2010-10-11 18:53 qianyz 阅读(400) 评论(0) 推荐(0) 编辑

摘要: sqlcommand主要是通过sqlconnection来发命令的。最常用的是发 select命令,这就要先来说说sqldatareader 的工作机制了:datareader的实现机制是游标,游标的类型有三种:1 静态游标2 键值游标3动态游标三种游标区别如下:静态游标:每当发一条select命令的时候,静态游标会在临时数据库中生成临时表,把选中的数据全都加载到这个临时表,然后用一个指针来指向这... 阅读全文

posted @ 2010-10-11 17:58 qianyz 阅读(1044) 评论(1) 推荐(1) 编辑

2010年10月9日

摘要: 一个 IAM 页在文件中的范围为 4 GB(IAM跟踪分配单元使用的数据库文件的 4 GB 部分中的区,它记录的是一个文件中的4GB部分,即跟踪一个GAM间隔的分配到一个分配单元的分区。一个IAM页(索引分配页)跟踪单个文件里将近4GB的空间,以4GB为界。这4GB的数据称为“GAM间隔”。一个IAM页跟踪属于单个实体的特定GAM间隔内的扩展盘区),与 GAM 或 SGAM... 阅读全文

posted @ 2010-10-09 17:07 qianyz 阅读(956) 评论(0) 推荐(1) 编辑

摘要: 一、数据表的基本结构为认识索引工作原理,首先有必要对数据表的基本结构作一次全面的复习。SQLS 当一个新表被创建之时,系统将在磁盘中分配一段以8K为单位的连续空间,当字段的值从内存写入磁盘时,就在这一既定空间随机保存,当一个8K用完的时候, SQLS指针会自动分配一个8K的空间。这里,每个8K空间被称为一个数据页(Page),又名页面或数据页面,并分配从0-7的页号,每个文件的第0页记录引导信息,... 阅读全文

posted @ 2010-10-09 14:16 qianyz 阅读(325) 评论(1) 推荐(0) 编辑

摘要: 全局分配映射表 (GAM)GAM 页记录已分配的区。每个 GAM 包含 64,000 个 区,相当于近 4 GB 的数据(每个区占用一位,每八个区占用一个字 节,每个页大概可用字节为8000个字节,所以能管理4GB的数据)。GAM 用 一个位来表示所涵盖区间内的每个区的状态。如果位为 1,则区可用;如果 位为 0,则区已分配。共享全局分配映射表 (SGAM)SGAM 页记录当前用作混合区且至少有一... 阅读全文

posted @ 2010-10-09 13:38 qianyz 阅读(222) 评论(0) 推荐(0) 编辑

2010年10月8日

摘要: MSSQL优化教程之1.4 其他几种类型的页面上一次只是讲了讲普通数据页面,后来自己回想一下,应该跟大家讲讲其他类型的页面,作为一个知识体系贯穿起来。 全局分配映射表 (GAM) GAM 页记录已分配的区。每个 GAM 包含 64,000 个区,相当于近 4 GB 的数据(每个区占用一位,每八个区占用一个字节,每个页大概可用字节为8000个字节,所以能管理4GB的数据)。GAM 用一个位来表示所涵... 阅读全文

posted @ 2010-10-08 20:47 qianyz 阅读(250) 评论(0) 推荐(44) 编辑

摘要: SQL Server中的页是最基本的数据单位组成,他有8KB,也就是8192个字节(mssql7.0以前是一个页面2KB),而sql server的一个页面,由页头,数据行,和slot table组成(行偏移的位置的记录数组。页头页头是一个固定的96字节的大小,他是一个页面的元数据,记载与本页相关的许多信息,具体的参数,大家可以参看我很久以前写的一篇文章,SQL server数据页页头参数列表,这... 阅读全文

posted @ 2010-10-08 20:33 qianyz 阅读(1395) 评论(0) 推荐(1) 编辑

摘要: 由于需要给同事培训数据库的索引知识,就收集整理了这个系列的博客。发表在这里,也是对索引知识的一个总结回顾吧。通过总结,我发现自己以前很多很模糊的概念都清晰了很多。 不论是聚集索引,还是非聚集索引,都是用B+树来实现的。我们在了解这两种索引之前,需要先了解B+树。如果你对B树不了解的话,建议参看以下几篇文章: BTree,B-Tree,B+Tree,B*Tree都是什么 http://blog.cs... 阅读全文

posted @ 2010-10-08 20:19 qianyz 阅读(174) 评论(0) 推荐(0) 编辑

摘要: SQLserver每个数据页面的页头都是固定的96字节,另外就是真正的数据行以及行偏移矩阵。掌握页面元数据也是对SQLserver内部组织的一个了解。其中nextpage 和 prepage参数只有在相应表有聚集索引的时候,才会将页面以链表的形式组织起来,不然,仍然是靠的表扫描(先扫描IAM页)LSN用于事务管理行偏移矩阵是用作跟踪数据在磁盘上的真正位置,以及与逻辑位置的对应关系。顺便说一下即使表... 阅读全文

posted @ 2010-10-08 20:08 qianyz 阅读(334) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 14 下一页