Vous n'êtes pas identifié(e).

#1 22/04/2014 14:04:33

guk92
Membre

[Optimisation] Sens de lecture des expressions

Bonjour,


Je souhaiterais exécuter une requête qui possède cette forme :

SELECT * FROM ma_table WHERE (expression_couteuse) AND colonne1 = 12 ;

Mais je me demandais s'il ne vaudrait pas mieux faire cela plutôt :

SELECT * FROM ma_table WHERE colonne1 = 12 AND (expression_couteuse);

Au niveau de la doc j'ai bien lu le tableau "Précédence des opérateurs" : http://docs.postgresql.fr/9.2/sql-synta … ence-table
Mais je voudrais en être sur. Est-ce que les 2 écriture sont équivalentes, ou faut-t-il privilégier le second ?



Cordialement, smile

Hors ligne

#2 22/04/2014 23:04:53

gleu
Administrateur

Re : [Optimisation] Sens de lecture des expressions

Aucune importance, PostgreSQL exécutera ce qui lui semble le moins coûteux en premier. C'est d'ailleurs facile à confirmer avec un EXPLAIN.


Guillaume.

Hors ligne

Pied de page des forums