iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL多列索引怎么用
  • 186
分享到

MySQL多列索引怎么用

2024-04-02 19:04:59 186人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关Mysql多列索引怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。    针对此问题进行测试:假设某个表有一

这篇文章将为大家详细讲解有关Mysql多列索引怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    针对此问题进行测试
假设某个表有一个联合索引(c1,c2,c3,c4)一下___只能使用该联合索引的c1,c2,c3部分
A where c1=x and c2=x and c4>x and c3=x
B where c1=x and c2=x and c4=x order by c3
C where c1=x and c4= x group by c3,c2
D where c1=x and c5=x order by c2,c3
E where c1=x and c2=x and c5=? order by c2,c
1、创建测试表

点击(此处)折叠或打开

  1. mysql> show create table t1 \G

  2. *************************** 1. row ***************************

  3.        Table: t1

  4. Create Table: CREATE TABLE `t1` (

  5.   `c1` mediumint(8) unsigned NOT NULL DEFAULT '0',

  6.   `c2` smallint(5) unsigned NOT NULL DEFAULT '0',

  7.   `c3` int(10) unsigned NOT NULL DEFAULT '0',

  8.   `c4` int(10) unsigned NOT NULL DEFAULT '0',

  9.   `c5` mediumint(8) unsigned NOT NULL,

  10.   `c6` varchar(2) DEFAULT NULL,

  11.   KEY `idx_t1_c1_c2_c3_c4` (`c1`,`c2`,`c3`,`c4`)

  12. ) ENGINE=InnoDB DEFAULT CHARSET=utf8

2、选项A执行计划

点击(此处)折叠或打开

  1. mysql> explain select * from t1 where c1=100 and c2=2 and c4>1000 and c3=1419401948 \G

  2. *************************** 1. row ***************************

  3.            id: 1

  4.   select_type: SIMPLE

  5.         table: t1

  6.    partitions: NULL

  7.          type: range

  8. possible_keys: idx_t1_c1_c2_c3_c4

  9.           key: idx_t1_c1_c2_c3_c4

  10.       key_len: 13

  11.           ref: NULL

  12.          rows: 1

  13.      filtered: 100.00

  14.         Extra: Using index condition

3、选项B执行计划

点击(此处)折叠或打开

  1. mysql> explain select * from t1 where c1=100 and c2=2 and c4=1419317673 order by c3 \G

  2. *************************** 1. row ***************************

  3.            id: 1

  4.   select_type: SIMPLE

  5.         table: t1

  6.    partitions: NULL

  7.          type: ref

  8. possible_keys: idx_t1_c1_c2_c3_c4

  9.           key: idx_t1_c1_c2_c3_c4

  10.       key_len: 5

  11.           ref: const,const

  12.          rows: 1

  13.      filtered: 10.00

  14.         Extra: Using index condition

4、选项C执行计划

点击(此处)折叠或打开

  1. mysql> explain select * from t1 where c1=100 and c4=1419317673 group by c3,c2 \G

  2. *************************** 1. row ***************************

  3.            id: 1

  4.   select_type: SIMPLE

  5.         table: t1

  6.    partitions: NULL

  7.          type: ref

  8. possible_keys: idx_t1_c1_c2_c3_c4

  9.           key: idx_t1_c1_c2_c3_c4

  10.       key_len: 3

  11.           ref: const

  12.          rows: 1

  13.      filtered: 10.00

  14.         Extra: Using index condition; Using temporary; Using filesort



5、选项D执行计划

点击(此处)折叠或打开

  1. mysql> explain select * from t1 where c1=100 and c5=2 order by c2,c3 \G

  2. *************************** 1. row ***************************

  3.            id: 1

  4.   select_type: SIMPLE

  5.         table: t1

  6.    partitions: NULL

  7.          type: ref

  8. possible_keys: idx_t1_c1_c2_c3_c4

  9.           key: idx_t1_c1_c2_c3_c4

  10.       key_len: 3

  11.           ref: const

  12.          rows: 1

  13.      filtered: 10.00

  14.         Extra: Using index condition; Using where

6、选项E执行计划

点击(此处)折叠或打开

  1. mysql> explain select * from t1 where c1=1000 and c2=200 and c5=2 order by c2,c3 \G

  2. *************************** 1. row ***************************

  3.            id: 1

  4.   select_type: SIMPLE

  5.         table: t1

  6.    partitions: NULL

  7.          type: ref

  8. possible_keys: idx_t1_c1_c2_c3_c4

  9.           key: idx_t1_c1_c2_c3_c4

  10.       key_len: 5

  11.           ref: const,const

  12.          rows: 1

  13.      filtered: 10.00

  14.         Extra: Using index condition; Using where

关于“MySQL多列索引怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL多列索引怎么用

本文链接: https://www.lsjlt.com/news/62374.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL多列索引怎么用
    这篇文章将为大家详细讲解有关MySQL多列索引怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。    针对此问题进行测试:假设某个表有一...
    99+
    2024-04-02
  • MySQL中如何使用多列索引
    MySQL中如何使用多列索引,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。多列索引我们经常听到一些人说"把WHERE条件里的...
    99+
    2024-04-02
  • MySQL中单列索引和多列索引的示例分析
    这篇文章主要为大家展示了“MySQL中单列索引和多列索引的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中单列索引和多列索引的示例分析”这篇文...
    99+
    2024-04-02
  • MySQL单列索引和联合索引的用法
    本篇内容主要讲解“MySQL单列索引和联合索引的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL单列索引和联合索引的用法”吧!本文通过一个案例,介绍...
    99+
    2024-04-02
  • Mysql索引怎么用
    这篇文章主要为大家展示了“Mysql索引怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mysql索引怎么用”这篇文章吧。select .... ...
    99+
    2024-04-02
  • pandas.DataFrame设置某一行为表头(列索引),设置某一列为行索引,按索引取多行多列
    pandas读取文件 pandas.DataFrame 设置索引 pandas.DataFrame 读取单行/列,多行多列 pandas.DataFrame 添加行/列 利用pandas处理表格类型数...
    99+
    2023-09-15
    pandas python 数据分析
  • MySQL索引怎么使用
    小编给大家分享一下MySQL索引怎么使用,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!MySQL索引的使用实例一. 慢查询日志二. 查询分析器——explain三. 索引的基本使用四. 复合索...
    99+
    2024-04-02
  • 怎么用好MySQL索引
    本篇内容主要讲解“怎么用好MySQL索引”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用好MySQL索引”吧!为了更好地进行解释,我创建了一个存储引擎为In...
    99+
    2024-04-02
  • MySQL---单列索引(包括普通索引、唯一索引、主键索引)、组合索引、全文索引。
    1. 索引 索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索 引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的 时间就越多,如果表中查询的列有一个索引,MySQL...
    99+
    2023-09-21
    数据库 mysql sql
  • MySQL单列索引和组合索引的区别
    这篇文章主要讲解了“MySQL单列索引和组合索引的区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL单列索引和组合索引的区别”吧!  MySQL单...
    99+
    2024-04-02
  • MySQL 中这么多索引该怎么选择
    目录前言MySQL 单字段索引问题组合索引唯一索引和普通索引总结前言 索引的本质是存储引擎用于快速查询记录的一种数据结构。特别是数据表中数据特别多的时候,索引对于数据库的性能就愈发重...
    99+
    2024-04-02
  • mysql中聚集索引、辅助索引、覆盖索引、联合索引怎么用
    这篇文章主要介绍了mysql中聚集索引、辅助索引、覆盖索引、联合索引怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。聚集索引(Clustered Index)聚集索引就是...
    99+
    2023-06-29
  • mysql中groupby怎么用索引
    在 mysql 中使用 group by 时,索引的使用可以极大地提高性能,前提是:确保索引列与 group by 子句中的列匹配。创建复合索引以提高分组涉及多个列时的性能。使用覆盖索引...
    99+
    2024-05-09
    mysql 聚合函数
  • mysql全文索引怎么用
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-16
  • MySQL中怎么使用索引
    今天就跟大家聊聊有关MySQL中怎么使用索引,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  MySQL何时使用索引  对一个键码使用>,&g...
    99+
    2024-04-02
  • MySQL聚簇索引和非聚簇索引怎么用
    小编给大家分享一下MySQL聚簇索引和非聚簇索引怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 索引分为聚簇索引和非聚簇...
    99+
    2024-04-02
  • 怎么在python中使用列表索引
    本篇文章为大家展示了怎么在python中使用列表索引,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其...
    99+
    2023-06-14
  • MySQL系列(七)索引和视图
    (1)索引的创建于管理 ① 为student表的phone列上建立一个降序普通索引phone_idx,并输出student表中的记录,注意观察phone字段上的顺序; create index phone_idx on student(p...
    99+
    2023-12-22
    mysql 数据库 java
  • MySQL 索引分类中单列索引的示例分析
    本篇文章为大家展示了MySQL 索引分类中单列索引的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 一个已分区的表不支持全文本...
    99+
    2024-04-02
  • MySQL联合索引怎么使用
    MySQL联合索引是指在一个表中同时使用多个列作为索引的方式,可以提高查询效率。使用方法如下: 创建联合索引: ALTER TA...
    99+
    2023-10-27
    MySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作