anajapari > euh... c'est sur "sa" que ça poserait problème, mais sur s, y'a pas de problème...
tomefa > la doc dit justement ce que j'ai dit à propos des index : un seul index est utilisé. et un index multi-colonne, lorsqu'il est utilisé, est toujours pus performant qu'un index uni-colonne + un filtre sur les valeurs du second champ.
Quant aux 6 octets gagnez euh... renomme toutes tes variables, fonctions, tables et champs en lettres, tu gagneras bien plus encore... Par contre si t'arrive à piger ce que fait ton programme ensuite...
La lisibilité, c'est le plus important dans un programme. Au moment de l'exécution, tu peux avoir 500 Mo de commentaires et des variables de 500 caractères de long, ça changera pas d'une µseconde le temps d'exécution. Par contre le gars qui repasse derrière toi, il comprend ce que tu fais (enfin... peut-être pas avec autant de commentaires et des variables aussi longues mais bon )
Il faut toujours rester le plus explicite possible. Dans un left outer join, right outer join ou full outer join, le plus important à la base, c'est le outer : je peux avoir des null qui déboulent de nulle part. Après qu'on ramène les sociétés sans adresses, les adresses sans société, ou les deux, c'est bien moins important.