1背景11.1MVCC:Snapshot Read vs Current Read21.2Cluster Index:聚簇索引31.32PL:Two-Phase Locking31.4Isolation Level42一条简单SQL的加锁实现分析52.1组合一:id主键+RC62.2组合二:id唯一...
分类:
数据库 时间:
2014-12-17 22:15:06
阅读次数:
268
对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息优点:第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 ...
分类:
数据库 时间:
2014-10-24 18:12:55
阅读次数:
196
数据库中如果用GUID作主键(默认聚簇索引),会产生页面碎片,可以用UUID来解决这个问题: [DllImport("rpcrt4.dll", SetLastError = true)] private static extern int UuidCreateSequen...
分类:
其他好文 时间:
2014-09-13 18:33:25
阅读次数:
216
mysql中每个表都有一个聚簇索引(clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引(secondary indexes)。以InnoDB来说,每个InnoDB表具有一个特殊的索引称为聚集索引。如果您的表上定义有主键,该主键索引是聚集索引。如果你不定义为您...
分类:
数据库 时间:
2014-09-12 16:36:13
阅读次数:
193
通常情况下,建立索引是加快查询速度的有效手段。但索引不是万能的,靠索引并不能实现对所有数据的快速存取。事实上,如果索引策略和数据检索需求严重不符的话,建立索引反而会降低查询性能。因此在实际使用当中,应该充分考虑到索引的开销,包括磁盘空间的开销及处理开销(如资源竞争和加锁)。例如,如果数据频繁的更新或...
分类:
其他好文 时间:
2014-09-11 20:47:12
阅读次数:
185
InnoDB1)虽然不支持用户创建聚族索引,但InnoDB会对主键建立聚簇索引。如果你不指定主键,InnoDB会用一个具有唯一且非空值的索引来代替。如果不存在这样的索引,InnoDB会定义一个隐藏的主键,然后对其建立聚簇索引。一般来说,DBMS都会以聚簇索引的形式来存储实际的数据,它是其它二级索引的...
分类:
数据库 时间:
2014-07-22 22:46:33
阅读次数:
276
被问到一个问题:MySQL中varchar最大长度是多少?这不是一个固定的数字。本文简要说明一下限制规则。1、限制规则字段的限制在字段定义的时候有以下规则:a) 存储限制varchar字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此.....
分类:
数据库 时间:
2014-07-22 00:23:35
阅读次数:
280
建立索引的目的是加快对表中记录的查找或排序。付出的代价:1. 增加了数据库的存储空间2. 在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。一。索引分类 索引分为聚簇索引和非聚簇索引两种。 每个表只能有一个聚簇索引,因为一个表中的记录只能以一种物理顺序存放。但是,一个表可以有不止一...
分类:
其他好文 时间:
2014-07-16 17:01:32
阅读次数:
160
因为索引的不可见性,很多人对它的工作原理可能也很迷糊,因此通常对建索引也不知道如何下手。一些基本概念:1.数据页:参见索引原理。在聚集索引中,就是索引页的叶节点。我们来简单地看看它是如何工作的。图A我们来看图A,聚簇索引的结构图。数据页就是数据库里实际存储数据的地方,可以看到是按页1页1页存的。假设...
分类:
数据库 时间:
2014-05-28 00:49:34
阅读次数:
289
innodb索引概念总结记录下innodb的索引概念,以备查看innodb索引分类:聚簇索引(clustered
index) 1) 有主键时,根据主键创建聚簇索引 2) 没有主键时,会用一个唯一且不为空的索引列做为主键,成为此表的聚簇索引 3)
如果以上两个都不满足那innodb自己创建一个...
分类:
数据库 时间:
2014-05-14 18:14:41
阅读次数:
402