当前位置: 首页 > 面试题库 >

有复合索引时是否需要正常的MySql索引

柴增
2023-03-14
问题内容

我们的MySql表有2500万行

以下是表中的列

c_id,c_name,s_id,l_type,l_time,message,domain

以上我们在c_id,c_name,s_id,l_type,域列上具有正常索引

我打算在域,l_time,l_type列上添加复合索引。因此,现在我可以删除域上的单个索引了吗?

谢谢


问题答案:

复合索引的任何前缀也将单独用作索引。因此,如果您有一个复合索引(domain, log_time, log_type),则相当于在domain和上都有索引(domain, log_time)。无需分别将这些索引分开,它们将是多余的并且浪费空间。

因此,您可以domain在添加此复合索引时安全地删除索引。



 类似资料:
  • 问题内容: 我想知道Elasticsearch是否需要先定义复合索引。通过复合索引,我的意思是像mongodb一样。 db.collection.ensureIndex({field1:1,field2:1,field3:1}) 或类似mysql db的东西。 在mytable(field1,field2,field3)上创建索引adhoc_index; 所以我要处理的数据非常平坦(大多数只是cs

  • 我想知道elasticsearch是否需要定义一个优先级的复合索引。通过复合索引,我的意思是像mongoDB一样的东西。 db.collection.ensure索引 或者类似mysql db的功能。 在mytable上创建索引adhoc_index(field 1, field 2, field 3); 因此,我处理的数据非常简单(大部分只是csv格式)。为完整起见,如下所示。 字段1,字段2。

  • 本文向大家介绍怎么验证 MySQL 的索引是否满足需求?相关面试题,主要包含被问及怎么验证 MySQL 的索引是否满足需求?时的应答技巧和注意事项,需要的朋友参考一下 使用 explain 查看 SQL 是如何执行查询语句的,从而分析你的索引是否满足需求。 explain 语法:explain select * from table where type=1。

  • 问题内容: 我知道索引的重要性以及联接的顺序如何改变性能。我已经完成了与多列索引相关的大量阅读,但仍未找到我的问题的答案。 我很好奇我是否做多列索引,如果它们指定的顺序根本很重要。我的猜测是,不会,并且引擎会将它们视为一个组,而顺序无关紧要。但我想验证一下。 例如,从mysql的网站(http://dev.mysql.com/doc/refman/5.0/en/multiple-column- i

  • 区分度不高的字段不适合做索引,因为索引页是需要有开销的,需要存储的,不过这类字段可以做联合索引的一部分。

  • 问题内容: 我需要一个表来存储一些评分,在此表中,我有一个 综合索引(user_id,post_id) 和其他列来标识不同的评分系统。 在此表中,我没有 主键, 因为 主键 必须是唯一的,而INDEX不必是唯一的,就我而言,唯一性是一个问题。 例如我可以有 缺少PRIMARY KEY可能会导致性能问题?我的表结构好还是需要更改? 谢谢 问题答案: 几点: 听起来您只是在使用表的当前唯一特性,并将其