生产中索引的管理

生产中索引的管理

创建索引: ​ ①建表时创建索引 ​ 主键索引 ``` create table t1(id int auto_increment primary key); create table t2( id int auto_increment, primary key(id) ); ``` ​ 唯一索引 ``` create table t1(name varchar(10) not n...
pt-online-schema-change原理与应用

pt-online-schema-change原理与应用

pt-osc:支持在线ddl,可以并行执行dml语句,而且主从复制延迟的时间非常少 1.安装pt-osc: 。cd /server/tools/ 。rz 上传工具包 。tar zxf percona-toolkit-3.2.1_x86_64.tar.gz 解压工具包 。mv percona-tool...
你真的会使用联合索引吗

你真的会使用联合索引吗

①什么是联合索引:在表中多个字段上创建的索引 ②创建联合索引的原则:将选择性高的字段放在最左边 ③通过联合索引构建的b+tree获取数据:最左匹配原则(从最左边开始匹配,直...
前缀索引带来的性能影响

前缀索引带来的性能影响

CREATE TABLE `t` ( `a` varchar(30) NOT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`), KEY `i_a` (`a`(2)) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 insert into t values(1,黄山二日游住山上); insert into t values(2,黄山二日...
唯一索引与普通索引的性能差距

唯一索引与普通索引的性能差距

CREATE TABLE `t` ( `a` varchar(10) NOT NULL, `b` varchar(10) NOT NULL, UNIQUE KEY `i_a` (`a`), KEY `i_b` (`b`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ①唯一索引特点: 。值不能重复,可以为空 。一张表可以创建多个唯一...
创建高性能的主键索引

创建高性能的主键索引

①主键索引创建的原则 。使用自增列作为主键 id int/bigint auto_increment primary key; 。主键与业务不相关,不受业务变化影响 。主键尽量不要修改、删除 ②主键索引的特点 。值不能为空,...
覆盖索引与回表查询

覆盖索引与回表查询

回表查询 :回到聚集索引构建的b+tree去搜索的过程,就称为回表 普通索引:o_orderDATE 查询:o_totalprice select o_totalprice from orders where o_orderDATE=1996-02-06; 回表查询要多经历几次io,消耗时间...
MySQL索引与二分查找法

MySQL索引与二分查找法

①什么是索引: 索引是一种数据结构,添加索引的字段的值是存储在b+tree叶子节点上,并经过排序存放,默认是升序方向;可以优化检索速度,提升查询性能;innodb存储引擎默认使用...
剖析b+tree数据结构

剖析b+tree数据结构

①索引树高度:2 (2-4层); 影响索引树高度因素: 。索引长度 。记录数 索引树高度不同消耗时间不同: sata:300iops,0.0033 /io 2层:0.0033*2 单位是秒 3层:0.0033*3 单位是秒 ②非叶子节...
聚集索引和辅助索引

聚集索引和辅助索引

b+tree索引:索引的本质就是b+tree在数据库中的实现 索引的分类:从物理存储角度分类 聚集索引和辅助索引 聚集索引: ①聚集索引的选择: 。优先选择显示创建的主键索引来作为聚集...