当我们有Composite索引时,是否需要正常的MySql索引

时间:2015-02-20 13:39:16

标签: mysql sql

我们的MySql表有2500万行

以下是表格中的列

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

其中我们在c_id,c_name,s_id,l_type,domain columns上有正常索引

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

由于

2 个答案:

答案 0 :(得分:1)

复合索引的任何前缀也将单独用作索引。因此,如果您在(domain, log_time, log_type)上有一个综合索引,那么它就等同于domain(domain, log_time)上的索引。这些索引也不需要单独存在,它们将是多余的并且浪费空间。

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

答案 1 :(得分:0)

根据您要求保留或删除复合索引的要求,不必删除单个索引以添加复合索引。