MySQL
清风杨柳岸
一头程序猿
展开
-
InnoDB 表
索引组织表 在InnoDB 存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表。在InnoDB存储引擎表中,每张表都有个主键(Primary key),如果在创建表时 没有显示地定义主键,则InnoDB存储引擎会按如下方式选择或创建主键: 1)首先判断表是否有非空的唯一索引(Unique not null),如果有,则该列即为主键。 2)如果不符合上述条件,InnoDB...原创 2018-10-13 20:58:28 · 905 阅读 · 0 评论 -
InnoDB存储引擎索引概述
InnoDB 存储引擎索引有 (1)B+ 树索引 (2)全文索引 (3)哈希索引 B+树 B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已经没有使用B树的情况了。 B+树的定义十分复杂,因此只简要地介绍B+树:B+树是为磁盘或其他直接存取辅助设备而设计...原创 2018-10-13 21:01:03 · 829 阅读 · 1 评论 -
Mysql的四种隔离级别
Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。 Read Committed(读取提交内容) 这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所...原创 2018-10-13 21:13:28 · 88 阅读 · 0 评论 -
InnoDB关键特性
插入缓存 1.Insert Buffer innodb使用insert buffer"欺骗"数据库:对于为非唯一索引,辅助索引的修改操作并非实时更新索引的叶子页,而是把若干对同一页面的更新缓存起来做合并为一次性更新操作,转化随机IO 为顺序IO,这样可以避免随机IO带来性能损耗,提高数据库的写性能。 IBUF_POOL_SIZE_PER_MAX_SIZE参数修改默认为2 即为最大缓存为1/2...原创 2018-10-13 21:16:37 · 528 阅读 · 0 评论 -
MySQL 执行计划 的type列 & Extra列
explain 可以分析 select 语句的执行,即 MySQL 的“执行计划。 一、type 列 MySQL 在表里找到所需行的方式。包括(由左至右,由最差到最好): | All | index | range | ref | eq_ref | const,system | null | ALL(所有) 全表扫描,MySQL 从头到尾扫描整张表查找行。 mysql> explain...原创 2018-10-13 21:25:26 · 798 阅读 · 0 评论 -
MySQL Order By 使用方法
在MySQL中的Order By 有2种排序实现方式 利用有序索引获取有序数据 文件排序 索引排序 取出满足过滤条件、作为排序条件的字段,以及可以直接定位到行数据的行指针信息,在 Sort Buffer 中进行实际的排序操作,然后利用排好序的数据根据行指针信息返回表中取得客户端请求的其他字段的数据,再返回给客户端。 这种方式,在使用explain分析查询的时候,显示Using index。...原创 2018-10-09 21:25:02 · 33243 阅读 · 0 评论