InnoDB是mysql处理OLTP(online transcation process)类型业务的存储引擎。为了加快数据查询速度,InnoDB引擎提供了丰富的索引实现。1. 索引的分类
索引可以分为聚集索引和非聚集索引,聚簇索引(cluster) index)是指索引中键值的逻辑顺序和相应行的物理顺序一致,简单说就是索引中键值存储的是对应的行数据。非聚簇索引中索引的键值中存储的只是相应行的引用...
分类:
数据库 时间:
2015-07-27 09:30:19
阅读次数:
180
mysql中每个表都有一个聚簇索引(clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引(secondary indexes)。以InnoDB来说,每个InnoDB表具有一个特殊的索引称为聚集索引。如果您的表上定义有主键,该主键索引是聚集索引。如果你不定义为您...
分类:
数据库 时间:
2015-07-17 20:25:27
阅读次数:
163
每个表只能有一个聚簇索引,而能有200多个非聚簇索引。在物理分配上,每个表的数据都是分配在页上,一个页大概有8k左右,假设一条数据占1000字节的话,那么8000条数据占8000*1k/8k = 1000页面,这些数据存在于数据块中。如果对这些数据中的某一10字节的字段做聚簇索引的话,8000 * ...
分类:
其他好文 时间:
2015-07-03 20:34:39
阅读次数:
116
1、http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html2 、聚簇索引和非聚簇索引的区别3、聚簇索引:只能有一个 非聚簇索引可以有多个 唯一索引(约束用 unique ):
分类:
数据库 时间:
2015-07-03 12:06:35
阅读次数:
137
少用in操作(效率极差),尽量用表关联代替
尽量有where(减少读取量),where操作列尽量有索引(加快查询)
(mysql索引使用B-Tree数据结构对特定列额外组织存放,加快存储引擎查找记录的速度,不需回表查询数据的就是聚簇索引(索引和数据存放在一起)。通常是需要回表再查数据,需要消耗额外的磁盘IO。)
主键是特殊的唯一索引(不含null),唯一索引更好用
复合索引设计合理...
分类:
数据库 时间:
2015-04-23 17:36:00
阅读次数:
131
索引是对 数据库中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。聚簇索引:死按照...
分类:
数据库 时间:
2015-04-23 01:51:03
阅读次数:
136
在MYSQL中索引是在存储引擎实现的,所以各个存储引擎中的索引的实现方式是不一样的。本章节主要是学习INNODB存储引擎中最常用的索引类型:聚簇索引和B-Tree索引在INNODB存储引擎中表其实是oracle中类似的聚簇表而不是普通的堆表。INNODB根据主健的顺序存储数据,数据直接存储在..
分类:
数据库 时间:
2015-04-07 07:21:44
阅读次数:
195
索引的组织形式:B树,散列表,性能散列表优于B树索引分类:唯一索引,非唯一索引,主键索引和聚簇索引聚簇索引:表中行的物理顺序与键值的逻辑(索引)顺序相同,一个表只能包含一个聚簇索引。什么场景不适合建索引:1. 很少检索的列2. 值很少的列3. 大数据对象4. 修改性能远远大于检索性能主键索引是唯一性...
分类:
其他好文 时间:
2015-02-06 11:06:14
阅读次数:
116
MySQL 加锁处理分析 转http://hedengcheng.com/?p=771十二 13th, 2013发表评论|Trackback1背景11.1MVCC:Snapshot Read vs Current Read21.2Cluster Index:聚簇索引31.32PL:Two-Phase...
分类:
数据库 时间:
2015-01-20 21:46:55
阅读次数:
197
细聊MySQL的Innodb存储引擎(一)细聊MySQL的Innodb存储引擎(二)细聊MySQL的Innodb存储引擎(完)上篇主要和大家探讨了Innodb引擎中出现幻读的处理方法与死锁的探测及避免死锁的一些注意事项。此篇,我们来研究下Innodb的索引。Innodb里涉及到的索引主要有四种,分别为聚簇索..
分类:
数据库 时间:
2014-12-22 19:54:06
阅读次数:
260