我正在运行此查询:
SELECT DISTINCT CONCAT(ALFA_CLAVE, FECHA_NACI) FROM listado GROUP BY ALFA_CLAVE HAVING count(CONCAT(ALFA_CLAVE, FECHA_NACI)) > 1
有没有办法优化它?查询在一张850,000行的桌子上花了2-3个小时。
为ALFA_CLAVE和FECHA_NACI添加索引会起作用吗?
答案 0 :(得分:1)
mysql没有functional / expression索引功能,它不能在函数/表达式上放置索引。
以这种方式尝试,即稍后将它们连接起来:
select concat(x.alfa_clave, x.fecha_naci)
from
(
SELECT ALFA_CLAVE, FECHA_NACI
FROM listado
GROUP ALFA_CLAVE, FECHA_NACI
HAVING COUNT(*) > 1
) as x