Vous êtes ici : » Accueil» MySQL » Indexer et utiliser les mêmes types de colonnes pour les jointures

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

 

SeeSoon

Technicien supérieur en Informatique, Amateur en électronique Administrateur du site milbako, + 30 ans d'expériences. Je ne suis pas un spécialiste, contrairement à ce qu'on essaie parfois de me faire croire. Je ne suis d'ailleurs spécialiste en rien, ce qui est en accord avec ce que j'essaye de me faire croire. Je suis simplement bricoleur et me suis fait quelques idées au fil des ans.

Voir tous les articles de SeeSoon →

Laisser un commentaire

Translate »