Si votre application contient de nombreuses requêtes JOIN, vous devez vous assurer que les colonnes que vous joignez sont indexées sur les deux tables. Cela affecte la façon dont MySQL optimise en interne l’opération de jointure.
En outre, les colonnes qui sont jointes doivent être du même type. Par exemple, si vous joignez une colonne DECIMAL à une colonne INT d’une autre table, MySQL ne pourra pas utiliser au moins un des index. Même les encodages de caractères doivent être du même type pour les colonnes de type chaîne.
// recherche d'entreprises dans mon état $r = mysql_query("SELECT company_name FROM users LEFT JOIN companies ON (users.state = companies.state) WHERE users.id = $user_id"); //les deux colonnes d'état doivent être indexées // et elles doivent toutes les deux être du même type et du même codage de caractères // ou MySQL peut effectuer des analyses de table complètes
Merci de votez pour cet article :