La requête suivante est très lent:spoeding une sélectionnez « distincte » avec LIMIT x dans Postgres
select distinct gene_symbol from my_table where gene_symbol like 'ED%' limit 15
qui est pas surprenant, puisque les causes distinctes à faire un agrégat de hachage.
Cette version fonctionne beaucoup plus vite:
with q0 as (
SELECT gene_symbol from my_table WHERE gene_symbol like 'ED%' limit 200
)
select distinct gene_symbol from q0 limit 15
, mais l'inconvénient est que je dois modifier la limite de la requête interne, Si je mets trop élevé, il devient si je mets lent, il trop bas, je pourrais avoir moins de 15 lignes.
Y a-t-il un meilleur moyen?
À moins que vous postez votre structure de la table, y compris les index et la sortie d'expliquer l'analyse, il est un cas d'aveugle conduisant l' – e4c5