Ваш индекс ускорит запросы, где вы хотите, чтобы все строки с определенными значениями для этих трех столбцов, такие как:
SELECT * FROM tablename WHERE foo = 1 AND bar = 2 AND asdf = 3
Я не уверен, но это также может помочь с запросами, которые сортируютрезультаты таковы, что совпадающие строки смежны, например:
SELECT * FROM tablename WHERE somecondition ORDER BY foo, bar, asdf;
Исходя из вашего комментария, похоже, что вы хотите что-то вроде этого:
SELECT GROUP_CONCAT(id SEPARATOR ',') as ids, foo, bar, asdf, COUNT(*) as cnt FROM tablename GROUP BY foo, bar, asdf HAVING cnt > 1;
Это скажет вам, какие строкиявляются дубликатами, и вы можете перейти оттуда, чтобы проверить все, что вам нужно для отдельных наборов.Если вы хотите сделать все с помощью одного запроса, вы можете использовать более тяжелый SQL для этого, но это будет не просто.