MySQL 索引MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以...
分类:
数据库 时间:
2015-05-31 15:17:56
阅读次数:
160
一,非聚集索引组合索引 用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。但复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度。 同时有两个概念叫做窄索引和宽索引,窄索引是指索引列为1-2列的索引,如果不特...
分类:
数据库 时间:
2015-05-25 09:43:10
阅读次数:
237
前言:当用Explain查看SQL的执行计划时,里面有列显示了 key_len 的值,根据这个值可以判断索引的长度,在组合索引里面可以更清楚的了解到了哪部分字段使用到了索引。下面演示中,表结构的合理性这边暂且不说,只是证明一下索引长度的计算方法。目前大部分博文是字符类型的索引长度计算方法,下面列举几...
分类:
数据库 时间:
2015-05-24 20:19:38
阅读次数:
140
1.使用explain语句查看性能mysql> explain select product_id from orders where order_id in (123, 312, 223, 132, 224) \G2.为什么要创建组合索引呢?如果只有一个索引,2个查询条件的语句中会先去索引查询一个...
分类:
数据库 时间:
2015-05-20 18:11:57
阅读次数:
220
在Oracle中可以创建组合索引,即同时包含两个或两个以上列的索引。在组合索引的使用方面,Oracle有以下特点: 1、 当使用基于规则的优化器(RBO)时,只有当组合索引的前导列出现在SQL语句的where子句中时,才会使用到该索引; 2、 在使用Oracle9i之前的基于成本的优化器(CBO)时...
分类:
数据库 时间:
2015-04-23 09:28:31
阅读次数:
320
聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 ...
分类:
其他好文 时间:
2015-03-19 23:42:59
阅读次数:
218
聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 ...
分类:
其他好文 时间:
2015-03-18 12:16:59
阅读次数:
218
ken_len表示索引使用的字节数,根据这个值,就可以判断索引使用情况,特别是在组合索引的时候,判断是否所有的索引字段都被查询用到。关于 key_len 的计算规则:? 当索引字段为定长数据类型,比如:char,int,datetime,需要有是否为空的标记,这个标记需要占用1个字节;? 当索引字段...
分类:
数据库 时间:
2015-03-15 15:11:24
阅读次数:
164
Mysql各种索引区别:普通索引:最基本的索引,没有任何限制唯一索引:与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。主键索引:它 是一种特殊的唯一索引,不允许有空值。全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空间。组合索引:为了更多的提高mysql...
分类:
数据库 时间:
2015-02-07 17:22:15
阅读次数:
204
1:使用索引 ,同时对索引排序,【比如mongodb对时间做索引都用-1降序哈,这样查询最新的速度很快】,注意组合索引中字段的顺序要和查询时字段的顺序一致哈,用find().explain()检查查询是否用了索引,find().hi什么的那个方法可以设置强制使用索引2:创建固定集合,会固定集合大小多...
分类:
数据库 时间:
2015-01-28 15:55:08
阅读次数:
168