Maison > Article > base de données > Quand les tables temporaires sont-elles utilisées ? Résumé de l'utilisation des tables temporaires MySQL
Résumé : MySQL utilise des tables temporaires dans de nombreux cas. Résumons quand les tables temporaires sont utilisées. Que sont les tables temporaires ? MySQL est utilisé pour stocker certains ensembles de résultats intermédiaires. connexion. On peut voir que Mysql supprimera automatiquement la table et libérera tout l'espace lorsque la connexion sera fermée.
MySQL utilise des tables temporaires dans de nombreux cas. Résumons quand les tables temporaires sont utilisées :
Qu'est-ce qu'une table temporaire : MySQL est utilisé pour stocker certains ensembles de résultats intermédiaires. Tables et tables temporaires. ne sont visibles que dans la connexion actuelle. Lorsque la connexion est fermée, Mysql supprimera automatiquement la table et libérera tout l'espace. Pourquoi les tables temporaires sont générées : Généralement, les tables temporaires sont créées en grand nombre en raison de SQL complexes
Les tables temporaires sont divisées en deux types, l'une est une table temporaire en mémoire et l'autre est une table temporaire sur disque. La table temporaire de mémoire utilise le moteur de stockage de mémoire et la table temporaire de disque utilise le moteur de stockage myisam (les tables temporaires de disque peuvent également utiliser le moteur de stockage innodb. Utilisez le paramètre internal_tmp_disk_storage_engine pour contrôler quel moteur de stockage est utilisé. À partir de mysql5.7.6, la valeur par défaut est le moteur de stockage innodb, les versions précédentes étant par défaut le moteur de stockage myisam). Utilisez les paramètres Created_tmp_disk_tables et Created_tmp_tables pour afficher le nombre de tables temporaires de disque générées et toutes les tables temporaires générées (mémoire et disque).
La taille de l'espace table temporaire de la mémoire est contrôlée par deux paramètres : tmp_table_size et max_heap_table_size. De manière générale, le plus petit des deux paramètres est utilisé pour contrôler la valeur maximale de l'espace table temporaire en mémoire. Pour les tables temporaires initialement créées en mémoire puis transférées vers des tables temporaires sur le disque en raison de données trop volumineuses, seul max_heap_table_size est utilisé. Contrôle des paramètres. Il n'y a aucun contrôle de taille pour les tables temporaires générées directement sur le disque.
Les opérations suivantes utiliseront des tables temporaires :
1ã requête d'union
2ã Pour les opérations d'affichage, telles que l'utilisation de certains algorithmes TEMPTABLE, d'union ou d'agrégation
3ã Sous-requête
4ã semi-jointure incluant not in, exist, etc.
5ã Table dérivée générée par requête
6ã Groupe complexe par et ordre par
7ã Insérer, sélectionner la même table, mysql générera une table temporaire pour mettre en cache les lignes sélectionnées
8ã Mises à jour multiples de la table
9ã Instruction GROUP_CONCAT() ou COUNT(DISTINCT)
. . .
Mysql empêchera également l'utilisation de l'espace table mémoire et utilisera directement les tables temporaires du disque :
1ã La table contient des colonnes BLOB ou TEXT
2ã Lors de l'utilisation de union ou union all , Lorsque la clause select a des colonnes supérieures à 512 octets
3ã Afficher les colonnes ou les tables de desc, il existe des clauses LOB ou TEXT
4ã Clauses GROUP BY ou DISTINCT contenant des colonnes supérieures à 512 octets Colonne
Recommandations associées :
Utilisation de la table temporaire MySQL
Comment utiliser la table temporaire dans Mysql
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!