Mysql
 sql >> Base de données >  >> RDS >> Mysql

Optimisation MySQL sur les tables de jointure avec des critères de plage

chrom_only est susceptible d'être une mauvaise sélection d'index pour votre jointure car vous n'avez que des valeurs chrom 22.

Si j'ai bien interprété cela, la requête devrait être plus rapide si vous utilisez start_end

SELECT `inVar`.chrom, `inVar`.pos, `openChrom_K562`.score
FROM `inVar`
LEFT JOIN `openChrom_K562`
USE INDEX (`start_end`)
ON (
`inVar`.chrom=`openChrom_K562`.chrom AND
`inVar`.pos BETWEEN `openChrom_K562`.chromStart AND `openChrom_K562`.chromEnd
)