二十七、冗余和重复索引

简介: 二十七、冗余和重复索引

一、冗余和重复索引

在 MySQL 中允许在相同的列上创建多个索引。重复索引是指在相同列上按照相同的顺序创建的相同类型的索引。冗余索引和重复索引有些不同,例如创建了索引(A,B),在创建索引(A)就是冗余索引。下面的例子是重复索引:

create table test(
    id int not null primary key,
    A int not null,
    B int not null,
    UNIQUE(id),
    INDEX(id)
 ) ENGINE=InnoDB;

TIP:

  1. MySQL 需要单独维护重复索引和冗余索引;
  2. 优化器在优化查询时,也需要对每个索引进行过滤,也会影响性能;
  3. 表中的索引多,会影响对数据进行增删改的速度。
目录
相关文章
|
24天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
6月前
|
存储 程序员 C语言
c++ 如何做出实现一组数据的实际索引
c++ 如何做出实现一组数据的实际索引
|
10月前
|
存储 程序员 C语言
c++ 如何做出实现一组数据的实际索引
C++是一种计算机高级程序设计语言, 由​​C语言​​​扩展升级而产生 , 最早于1979年由​​本贾尼·斯特劳斯特卢普​​在AT&T贝尔工
|
索引 关系型数据库 MySQL
十六、组合索引(上)
十六、组合索引
60 0
|
SQL 搜索推荐 关系型数据库
B+树索引使用(8)排序使用及其注意事项(二十)
B+树索引使用(8)排序使用及其注意事项(二十)
|
存储 SQL 缓存
B+树索引使用(9)分组、回表、覆盖索引(二十一)
B+树索引使用(9)分组、回表、覆盖索引(二十一)
|
SQL 存储 缓存
索引不是越多越好,理解索引结构原理,才有助于我们建立合适的索引!
MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。
589 0
|
数据库 索引 程序员
excel导入功能中去掉重复数据—解决思路
excel导入功能中去掉重复数据—解决思路 今天客户提出一个问题,能否在产品中2个子系统中的实现所有的excel导入功能过滤掉已有的数据。 我思考了一番,想到了3种大概的解决思路: 1、在插入每条数据的时候,查到对应的表找出是否存在对应的数据,如存在就跳过。
1993 0
|
数据库 索引
存在逻辑删除的表字段上建立唯一索引的巧办法 (逻辑删除与唯一索引)
设计数据库唯一索引时,经常会碰到唯一删除的键值,导致很难处理,这里就简单介绍一种巧办法,帮你快速解决该问题
1740 0
存在逻辑删除的表字段上建立唯一索引的巧办法 (逻辑删除与唯一索引)
|
存储 关系型数据库 MySQL
二十五、覆盖索引
二十五、覆盖索引
104 0