Mysql 复合索引是否有助于以下查询?

Mysql 复合索引是否有助于以下查询?,mysql,Mysql,有没有办法创建一个复合索引来加速下面的查询 DELETE n1 FROM table n1, table n2 WHERE n1.id < n2.id AND n1.col1 = n2.col1 AND n1.col2 = n2.col2 AND n1.col3 = n2.col3 删除n1

有没有办法创建一个复合索引来加速下面的查询

DELETE n1 

    FROM 
        table n1, table n2 

    WHERE 
            n1.id < n2.id 
        AND 
            n1.col1 = n2.col1 
        AND 
            n1.col2 = n2.col2 
        AND 
            n1.col3 = n2.col3
删除n1
从…起
表n1、表n2
哪里
n1.id
经过大量的研究,这个指数似乎是正确的选择-

ALTER IGNORE TABLE TABLE ADD UNIQUE INDEX dupefilter(col1、col2、col3)


现在不需要原始查询了。如果有人认为这有潜在的问题,请回复。我很惊讶,唯一索引没有被更多地推荐。

您在这里建议使用什么索引
col1、col2、col3将是一个很好的起点。为什么不直接使用联接呢?是的,你应该在这三列上放一个复合索引