Indexer et utiliser les mêmes types de colonnes pour les jointures

(Dernière mise à jour le: 23 août 2021)

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 :
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Laisser un commentaire

Translate »