摘要: 二叉查找树 二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大于根的键值。 如下图所示就是一棵二叉查找树, 对该二叉树的节点进行查找发现深度为1的节点的查找次数为1,深度为2的查找次数为2,深度为n的节点的查找次数为n,因此其平均查找次数为 (1+2+2+3+3+3) / 6 = 2.3次 阅读全文
posted @ 2018-06-11 22:44 yifanSJ 阅读(875) 评论(0) 推荐(0) 编辑
摘要: 今天和同学探讨说MySQL哪些存储引擎支持hash索引,因为所看书籍MySQL版本和现有的MySQL版本有出入,故中间出了点歧义。所以就手动敲了一下代码,测试了一下MySQL8.0中的存储引擎是如何支持hash索引的。 我们都知道MySQL最常用的存储引擎为InnoDB和MyISAM。它们默认的存储 阅读全文
posted @ 2018-06-11 22:24 yifanSJ 阅读(994) 评论(0) 推荐(0) 编辑
摘要: Ok,我们知道了,引擎就是一个程序的核心组件。 简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式。 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可 阅读全文
posted @ 2018-06-11 17:17 yifanSJ 阅读(2505) 评论(0) 推荐(0) 编辑
摘要: 一、EXPLAIN介绍 MySql提供了EXPLAIN语法用来进行查询分析,在SQL语句前加一个"EXPLAIN"即可。比如我们要分析如下SQL语句: 运行上面的sql语句后你会看到,下面的表头信息: table | type | possible_keys | key | key_len | re 阅读全文
posted @ 2018-06-11 15:12 yifanSJ 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 查看表定义: show create table users; 查看表的索引: show index from users; 你要获取第一个表的所有信息,你说全表扫描快呢还是索引扫描快呢?所以当你查找库(包括left join中的临时库)的所有信息时,数据库会选择最优方法——全表扫描!!! /*s表 阅读全文
posted @ 2018-06-11 11:56 yifanSJ 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 普通索引 添加INDEX ALTER TABLE `table_name` ADD INDEX index_name (`column`) 主键索引 添加PRIMARY KEY ALTER TABLE `table_name` ADD PRIMARY KEY (`column`) 唯一性约束 添加U 阅读全文
posted @ 2018-06-11 11:55 yifanSJ 阅读(177) 评论(0) 推荐(0) 编辑