您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页mysql重复索引与冗余索引实例分析

mysql重复索引与冗余索引实例分析

来源:华拓科技网


在实际使用中, 有2种查询

  • artid—查询文章的—tag
  • tag—查询文章的 —artid
  • SQL语句:

    select tag from t11 where artid=2;
    select artid from t11 where tag='PHP';
    
    

    我们可以建立冗余索引,来达到索引覆盖的情况,这样的查询效率会比较高。

    1、建立一个文章标签表

    这个表中有两个索引,一个是at,一个是ta,两个索引都用到了artid和tag两个字段。

    CREATE TABLE `t16` (
     `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
     `artid` int(10) unsigned NOT NULL DEFAULT '0',
     `tag` char(20) NOT NULL DEFAULT '',
     PRIMARY KEY (`id`),
     KEY `at` (`artid`,`tag`),
     KEY `ta` (`tag`,`artid`)
    ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
    
    

    2、测试两条SQL语句

    select artid from t11 where tag='PHP';
    
    

    这条语句的查询分析中的Extra有Using index,表示此处用到了索引覆盖,使用索引覆盖后就不需要回行查询数据,这样的查询效率比较高。

    select tag from t11 where artid = 1;
    
    

    这条语句的查询分析中的Extra有Using index,表示此处用到了索引覆盖,使用索引覆盖后就不需要回行查询数据,这样的查询效率比较高。

    关于索引覆盖的详细内容可以查看前面一篇文章:索引覆盖

    更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL索引操作技巧汇总》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》

    希望本文所述对大家MySQL数据库计有所帮助。

    您可能感兴趣的文章:

  • mysql建立高效的索引实例分析
  • mysql索引覆盖实例分析
  • mysql索引对排序的影响实例分析
  • MySQL中NULL对索引的影响深入讲解
  • 详解MySQL索引原理以及优化
  • 通过唯一索引S锁与X锁来了解MySQL死锁套路
  • mysql 添加索引 mysql 如何创建索引
  • MySQL索引类型总结和使用技巧以及注意事项
  • MySQL查看、创建和删除索引的方法
  • MySQL 创建索引(Create Index)的方法和语法结构及例子
  • mysql聚簇索引的页原理实例分析
  • Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

    违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

    本站由北京市万商天勤律师事务所王兴未律师提供法律服务