摘要: Multi-Version Concurrency Control 多版本并发控制 大多数的MySQL事务型存储引擎,如InnoDB,Falcon以及PBXT都不使用一种简单的行锁机制。事实上,他们都和和另外一种用来增加并发性的被称为“多版本并发控制(MVCC)”的机制来一直使用。MVCC不只使用在MySQL中,Oracle,PostgreSQL以及其他一些数据为系统也同样使用它。 你可将将MVCC看成行级别锁的一种妥协,它在许多情况下避免了使用锁,同时可以提供更小的开销。根据实现的不同,它可以允许非阻塞式读,在写操作进行时只锁定必要的记录。 MVCC会保存某个时间点上的数据快照。这意味阒事务 阅读全文
posted @ 2011-03-01 16:16 tokeep 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 表、表分区、索引和索引分区的页压缩都是类似的。以下针对表的页压缩的说明同样适用于所有对象类型的页压缩。以下示例压缩的是字符串,但对于其他数据类型而言,前缀压缩和字典压缩的原理都是相同的。使用页压缩压缩表和索引的叶级别的过程由按以下顺序进行的三个操作组成:行压缩前缀压缩字典压缩当使用页压缩时,将仅使用行压缩来压缩索引的非叶级别页。有关行压缩的详细信息,请参阅行压缩的实现。 前缀压缩 对于要压缩的每一页,前缀压缩采用以下步骤:对于每一列,将确定一个值,此值可用于减少每一列中的值的存储空间。将创建表示每一列的前缀值的行,并将其存储在紧随页头之后的压缩信息 (CI) 结构中。列中重复的前缀值将由指向对 阅读全文
posted @ 2011-03-01 16:09 tokeep 阅读(417) 评论(0) 推荐(0) 编辑
摘要: SQL SERVER 2008 笔记之行压缩和页压缩 收藏 /* 2008 压缩 行压缩 SQL SERVER 2008 引进了行压缩这个新特性,只有企业版具有该新特性.行压缩只需要最低的空间对行数据进行压缩.行压缩可以在CREATE一个表,索引或者ALTER一个表,索引的时候进行创建.压缩可以在行级别,也可以在页级别.同样备份的时候也可以进行压缩.以下先举例说明如何创建一个表行压缩和ALTER表的时候添加行压缩. 建立测试数据*/ CREATE DATABASE COMPRESSION_TEST GO USE COMPRESSION_TEST GO/* 建立一个具有行压缩的表*/ CREA. 阅读全文
posted @ 2011-03-01 16:08 tokeep 阅读(476) 评论(0) 推荐(1) 编辑
摘要: B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字; 如果B树的所有非叶子结点的左右子树的结点数目均保持差不多(平衡),那么B树的搜索性能逼近二分查找;但它比连续内存空间的二分查找的优点是,改变B树结构(插入与删除结点)不需要移动大段的内存 阅读全文
posted @ 2011-03-01 16:02 tokeep 阅读(295) 评论(0) 推荐(0) 编辑