优化SQL语句,加快其执行速度

优化SQL

由于数据量较大,执行下面这条语句需要2s多的时间,请问该如何优化这条语句呢

SELECT COUNT(1)
    num1 
FROM 
    jk_instrument_sports_data d 
WHERE 
    d.equipment_code IN 
    (SELECT e.equipment_code FROM yps_equipment e);

等值查询也是可以的,不过count需要指定值且去重,刚count(1)会出现统计数据不对的情况


SELECT COUNT(DISTINCT d.equipment_code) num1 
FROM jk_instrument_sports_data d, yps_equipment e
WHERE d.equipment_code = e.equipment_code 

SELECT COUNT(1)
num1
FROM
jk_instrument_sports_data d
WHERE exists(select 1 from
yps_equipment e where e.equipment_code=d.equipment_code);

表加下索引吧,这语句优化空间不大