MySQL 多列索引

作者: mashen | 来源:发表于2017-07-30 19:09 被阅读0次

MySQL 多列索引

多列索引也叫联合索引又叫复合索引
也就是把多个字段按顺序连起来创建一个索引 ( 最多16列 )
理解这句:按顺序的连起来 从左到右的

为什么要创建多列索引?
相对在每个列上单独建索引 多列索引占用空间更小 检索也就越快

比如表里有3个字段 name,age,from

name age from
mashen 1991 Dalian
-- 创建多列索引
alter table x_test add index(name,age,from);

创建的索引就相当于是 : mashen1991Dalian
当查询时从左到右去比对查询

示例:

// 完全使用索引
WHERE name = 'name' AND age = 'age' AND from = 'from';

// 完全使用索引 ( mysql会自动排序 )
WHERE age = 'age' AND name = 'name' AND from = 'from';

// 使用索引 ( 因为是遵循前缀索引的原则 所以下面两个查询都使用了索引 )
WHERE  name = 'name';
WHERE  name = 'name' AND age = 'age';

// 没有使用索引 ( 因为缺少age字段 无法现实从左到有匹配 )
WHERE  age = 'age';
WHERE  age = 'age' AND from = 'from';

// 部分索引 ( name最左使用了索引 from未使用索引 因为中间断开了age )
WHERE  name = 'name' AND from = 'from';

MySQL 5.7 参考手册 - 多列索引

相关文章

  • 索引

    MYSQL索引 MYSQL中索引文件以B树结构存储,索引可分为单列索引和多列索引。 对于多列索引中,当一个SQL语...

  • MySql 数据查询优化

    1. MySQL索引类型: mysql的索引有5种:主键索引、普通索引、唯一索引、全文索引、聚合索引(多列索引)。...

  • MySQL 多列索引

    MySQL 多列索引 多列索引也叫联合索引又叫复合索引也就是把多个字段按顺序连起来创建一个索引 ( 最多16列 ...

  • MySQL多列索引

    MySQL多列索引 1 INNODB引擎为什么适用B+树,而不适用hash? 1.1 hash的特点 哈希优点: ...

  • mysql多列索引

    mysql多列索引 复合索引 这几天面试了一家公司,面试官问了个关于复合索引的,本以为对索引数据结构很了解了,谁知...

  • mysql 查询效率优化之 常用索引的几种类型 新手使用教程,少

    Mysql常见索引有:主键索引、唯一索引、普通索引、全文索引、组合索引(联合索引,多列索引) 一、建立的方法介绍 ...

  • Mysql索引失效

    mysql 索引失效的原因有哪些?Mysql索引失效的原因 1、最佳左前缀原则——如果索引了多列,要遵守最左前缀原...

  • MySql 索引使用总结-基础篇

    Mysql索引 一.索引概述 简单的说,索引就是对某表中一列或若干列值进行排序的结构.它由该表的一列或者多列的值,...

  • 49-MySQL-索引的创建与删除

    一、索引分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等①:从功能逻辑上说...

  • MySql 联合索引分析

    定义 将表中的多列(两列或以上)作为索引称为联合索引(或者符合索引)。 原理 摘自Mysql高性能 第三版 144...

网友评论

    本文标题:MySQL 多列索引

    本文链接:https://www.haomeiwen.com/subject/nyrklxtx.html