索引初识: 最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。 很简单吧,不过对于要说明这个问题,已经足够了。如果你在查询时常用类似以下的语句: 最直接的应对之道,是为category_id建立一个简单的索引: OK,搞定?先别高兴,如果你有不止一个选择条件 ...
分类:
数据库 时间:
2019-05-14 11:26:16
阅读次数:
154
前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉炫酷的模样说:“是不是数据库查询上出问题了, 给表加上索引吧”,然后妹子来 ...
分类:
数据库 时间:
2019-05-08 14:46:23
阅读次数:
156
MYSQL数据库索引类型包括普通索引,唯一索引,主键索引与组合索引,这里对这些索引的做一些简单描述: (1)普通索引 这是最基本的MySQL数据库索引,它没有任何限制。它有以下几种创建方式: 创建索引 如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型 ...
分类:
数据库 时间:
2019-04-30 01:13:07
阅读次数:
151
什么是索引: 一个索引是存储的表中一个特定列的值数据结构(最常见的是B-Tree)。索引是在表的列上创建。所以,要记住的关键点是索引包含一个表中列的值,并且这些值存储在一个数据结构中。请记住记住这一点:索引是一种数据结构 。 哈希索引的缺点: 优点:在寻找值时哈希表效率极高,如果使用哈希索引,对于比 ...
分类:
数据库 时间:
2019-04-27 21:31:05
阅读次数:
308
什么是索引? 用于提高数据库访问速度的数据库对象 索引类型? 聚集索引:一个表中只有一个聚集索引,主键的存储位置与物理顺序相同,叶子节点获取全部列数据。 非聚集索引:索引逻辑顺序与物理顺序不同,可以有多个非聚集索引。=> 因此非聚集索引的叶子节点是索引节点,指针指向对应的数据块,若列中包含其他索引没 ...
分类:
数据库 时间:
2019-04-14 09:34:30
阅读次数:
203
为什么说B+树比B树更适合数据库索引 1、B+树的内部节点没有指向关键字具体信息的指针,相对B数内部节点小,但其可指向一大块关键词,一次性预读入内存的关键字数很多,相对IO读写次数就降低了。2、B+树从根到叶子节点的路径长度都相同,这样查询效率更加稳定。3、B树在提高了IO性能的同时,并没有解决元素 ...
分类:
其他好文 时间:
2019-04-09 00:27:41
阅读次数:
162
索引 索引是为了方便查找我们所需要的数据。 mysql支持的索引数据类型 B-Tree索引的特点 B-Tree索引以B+Tree(树)的结构存储数据。 B-Tree索引能够加快数据的查询速度; B-Tree更适合进行范围查找; 在什么情况下可以用到B树索引 全值匹配的查询;如:order_sn=’9 ...
分类:
数据库 时间:
2019-04-06 12:46:50
阅读次数:
168
Mysql优化思维导图: 问题描述: 假设某表一个联合索引(c1,c2,c3,c4),以下哪条语句中只使用到该联合索引的c1,c2,c3部分? 准备工作:建立库,建立表,建立索引 Btree左前缀使用规则: 如按f1, f2,f3, ....fN建立索引 查询时,where条件中,按f1,f2... ...
分类:
数据库 时间:
2019-03-31 19:29:57
阅读次数:
236
一、二叉查找树 众所周知,二叉查找树是每个结点最多有两个子树的树结构,通常子树被称为左子树或者右子树。二叉查找树的重要知识:对于树中的每一个节点,其左子树任意节点的值均小于该节点,其右子树的任意节点的值均大于该节点。大致结构如下图: 该图为平衡二叉树,即任意节点的左子树和右子树的高度相差不超过1。 ...
分类:
数据库 时间:
2019-03-10 09:38:39
阅读次数:
230
MYSQL索引 索引是什么? 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的位置信息。 更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 为什么需要索引 一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询操 ...
分类:
数据库 时间:
2019-03-10 00:05:48
阅读次数:
237