导读 在MySQL里常用的索引数据结构有B+树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议。 二者区别 备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BTREE,例如像下面这样的写法: CREATE TABLE t(aid int unsigned not ...
分类:
数据库 时间:
2016-06-30 18:06:28
阅读次数:
170
当表数据量越来越大时查询速度会下降,像课本目录一样,在表的条件字段上创建索引,查询时能够快速定位感兴趣的数据所在的位置。索引的好处主要有加速带条件的查询,删除,更新,加速JOIN操作,加速外键约束更新和删除的操作等,但是索引也不是只有好处没有坏处,创建索引时会锁表,不仅将数据写入表中,还要创建索引, ...
分类:
数据库 时间:
2016-06-29 23:26:51
阅读次数:
373
索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法。mysql默认的是二叉树算法 BTREE。Explain优化查询检测EXPLAIN可以帮助开发人员分析SQL问题,explain显示了mysql如何使用索引来处理select语句以及连接表。使用方法:在select语句前加上Explain,Explain select * from blog where myname=...
分类:
数据库 时间:
2016-06-12 02:27:36
阅读次数:
249
int width(BTree *bt) { BTree *p=bt; if(bt)return 0; BTree *q[100]; int front=0,rear=0;//队头指针,队尾指针 int last=0;//同一层最右结点在队列中位置 int temp=0,maxw=0;//当前层宽度 ...
分类:
其他好文 时间:
2016-05-26 10:06:55
阅读次数:
215
一 . 索引概述和基本操作 1. 索引提高查询速度,降低写入速度,权衡常用的查询字段,不必在太多列上建索引2. 在mongodb中,索引可以按字段升序/降序来创建,便于排序3. 默认是用btree来组织索引文件,2.4版本以后,也允许建立hash索引. 常用命令:查看当前索引状态: db.colle ...
分类:
其他好文 时间:
2016-05-24 13:39:00
阅读次数:
164
一棵M阶(M>2)的B树,是一棵平衡的M路平衡搜索树,可以是空树或者满足一下性质:1.根节点至少有两个孩子2.每个非根节点有[,M]个孩子3.每个非根节点有[-1,M-1]个关键字,并且以升序排列4.key[i]和key[i+1]之间的孩子节点的值介于key[i]、key[i+1]之间5.所有的叶子节点都在同一..
分类:
编程语言 时间:
2016-05-07 16:46:36
阅读次数:
569
索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型。根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。MYSQL中索引的存储类型有两种:BTREE和H ...
分类:
数据库 时间:
2016-05-03 20:10:37
阅读次数:
254
摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持 也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是 平常使用 ...
分类:
数据库 时间:
2016-04-28 18:19:49
阅读次数:
326
1. 索引的含义和特点 索引:创建在表上,是对数据库表中一列或多列的值进行排序的一种结构。 存储类型: B性树(BTREE)索引和哈希(HASH)索引; InnoDB和MyISAM支持BTREE索引, MEMORY支持BTREE索引和HASH索引 优缺点: 优点——提高检索数据的速度; 缺点: 创建 ...
分类:
数据库 时间:
2016-04-14 22:06:16
阅读次数:
266
摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用My ...
分类:
数据库 时间:
2016-04-14 14:08:17
阅读次数:
250