Maison base de données tutoriel mysql Résumé de l'optimisation des clauses select et Where dans MySQL

Résumé de l'optimisation des clauses select et Where dans MySQL

Jan 19, 2019 am 10:18 AM
mysql

Le contenu de cet article est un résumé de l'optimisation des clauses select et Where dans MySQL. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Optimisation de la base de données :

1. L'optimisation peut être effectuée au niveau d'une seule instruction SQL, de l'application entière, d'un seul serveur de base de données ou de plusieurs réseaux. serveurs de base de données
2. Les performances de la base de données dépendent de plusieurs facteurs au niveau de la base de données, tels que les tables, les requêtes et les paramètres de configuration
3. Optimiser au niveau de la base de données, optimiser au niveau matériel, équilibrer la portabilité et les performances
. 4. Structure appropriée, type de données approprié ; applications qui effectuent des mises à jour fréquentes avec un grand nombre de tables (peu de colonnes) ; applications qui analysent de grandes quantités de données avec un petit nombre de tables (plusieurs colonnes choisissent le moteur de stockage et l'index appropriés) ; ;
5. Compression applicable Diverses charges de travail pour les tables InnoDB, ainsi que les tables MyISAM en lecture seule
6. Choisissez une stratégie de verrouillage appropriée ; le moteur de stockage InnoDB peut gérer la plupart des problèmes de verrouillage
7. La mémoire principale les zones configurées sont le pool de tampons InnoDB et le cache de clés MyISAM.
8. Optimisez l'instruction select. Cette technique est également applicable à d'autres instructions de suppression avec où. Définir des index sur les colonnes de la clause Where ; les index sont particulièrement importants pour référencer plusieurs colonnes telles que les jointures et les clés étrangères

sélectionnez l'optimisation de la clause Where :

1. Ajustez la structure de la requête, comme les appels de fonction, appelez-les une seule fois pour chaque ligne de l'ensemble de résultats, et pour. chaque ligne de la table Appelez-la une seule fois
2. Réduisez le nombre d'analyses complètes de la table dans la requête
3. Utilisez régulièrement l'instruction ANALYZE TABLE pour maintenir les statistiques de la table à jour
4. Comprendre le réglage techniques du moteur de stockage spécifiques à chaque table, technologie d'indexation et paramètres de configuration
5. Optimiser les transactions de requête unique pour les tables InnoDB
6. Enquêter sur les détails internes d'une requête spécifique en lisant le plan EXPLAIN et en ajustant les index, OÙ clauses, clauses de jointure, etc.
7. Ajustez la taille et les propriétés de la zone mémoire utilisée par MySQL pour la mise en cache. En utilisant efficacement le pool de tampons InnoDB, le cache de clés MyISAM et le cache de requêtes MySQL
8.where conditions, suppression des parenthèses inutiles, pliage constant, suppression des conditions constantes, réduction de la logique inutile
9 Utilisées par l'index Les expressions constantes ne sont que. calculé une fois
10. count(*) est directement interrogé à partir des informations de la table ; lorsqu'il n'y a qu'une seule table, il en va de même pour les expressions non nulles
11. COUNT (), MIN(), etc.), HAVING sera fusionné avec WHERE
12. Table constante, une seule ligne ou table vide ; la clause Where agit sur la clé primaire ou l'index unique
13. et GROUP BY Si toutes les colonnes de la clause proviennent de la même table, alors la table sera préférée lors de la jointure
14. Si la clause order by et la clause group by sont différentes, ou proviennent de tables différentes, un temporaire. une table sera créée
15. Si vous utilisez le modificateur SQL_SMALL_RESULT, MySQL utilisera une table temporaire en mémoire
16. MySQL peut simplement lire les lignes de l'index sans même consulter le fichier de données
17. Avant en sortant chaque ligne, un saut passera les lignes qui ne correspondent pas à la clause HAVING

La table suivante est utilisée comme table constante :

SELECT * FROM t WHERE primary_key=1;
SELECT * FROM t1,t2  
WHERE t1.primary_key=1 AND t2.primary_key=t1.id;
Copier après la connexion

La requête suivante s'exécute très rapidement :

SELECT COUNT(*) FROM tbl_name;
SELECT MIN(key_part1),MAX(key_part1) FROM tbl_name;
SELECT MAX(key_part2) FROM tbl_name
  WHERE key_part1=constant;
SELECT ... FROM tbl_name
  ORDER BY key_part1,key_part2,... LIMIT 10;
SELECT ... FROM tbl_name
  ORDER BY key_part1 DESC, key_part2 DESC, ... LIMIT 10;
Copier après la connexion
Supposons que la colonne d'index soit de type numérique, la requête suivante utilise uniquement l'arborescence d'index :
SELECT key_part1,key_part2 FROM tbl_name WHERE key_part1=val;
SELECT COUNT(*) FROM tbl_name
  WHERE key_part1=val1 AND key_part2=val2;
  SELECT key_part2 FROM tbl_name GROUP BY key_part1;
Copier après la connexion

La requête suivante utilise l'index pour récupérer les données dans un ordre trié, aucun tri séparé n'est requis

SELECT ... FROM tbl_name
  ORDER BY key_part1,key_part2,... ;
SELECT ... FROM tbl_name
   ORDER BY key_part1 DESC, key_part2 DESC, ... ;
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL: la facilité de gestion des données pour les débutants MySQL: la facilité de gestion des données pour les débutants Apr 09, 2025 am 12:07 AM

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

MySQL: Concepts simples pour l'apprentissage facile MySQL: Concepts simples pour l'apprentissage facile Apr 10, 2025 am 09:29 AM

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

Comment ouvrir phpmyadmin Comment ouvrir phpmyadmin Apr 10, 2025 pm 10:51 PM

Vous pouvez ouvrir PHPMYADMIN via les étapes suivantes: 1. Connectez-vous au panneau de configuration du site Web; 2. Trouvez et cliquez sur l'icône PHPMYADMIN; 3. Entrez les informations d'identification MySQL; 4. Cliquez sur "Connexion".

Comment créer Navicat Premium Comment créer Navicat Premium Apr 09, 2025 am 07:09 AM

Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.

MySQL et SQL: Compétences essentielles pour les développeurs MySQL et SQL: Compétences essentielles pour les développeurs Apr 10, 2025 am 09:30 AM

MySQL et SQL sont des compétences essentielles pour les développeurs. 1.MySQL est un système de gestion de base de données relationnel open source, et SQL est le langage standard utilisé pour gérer et exploiter des bases de données. 2.MySQL prend en charge plusieurs moteurs de stockage via des fonctions de stockage et de récupération de données efficaces, et SQL termine des opérations de données complexes via des instructions simples. 3. Les exemples d'utilisation comprennent les requêtes de base et les requêtes avancées, telles que le filtrage et le tri par condition. 4. Les erreurs courantes incluent les erreurs de syntaxe et les problèmes de performances, qui peuvent être optimisées en vérifiant les instructions SQL et en utilisant des commandes Explication. 5. Les techniques d'optimisation des performances incluent l'utilisation d'index, d'éviter la numérisation complète de la table, d'optimiser les opérations de jointure et d'améliorer la lisibilité du code.

Comment créer une nouvelle connexion à MySQL dans Navicat Comment créer une nouvelle connexion à MySQL dans Navicat Apr 09, 2025 am 07:21 AM

Vous pouvez créer une nouvelle connexion MySQL dans NAVICAT en suivant les étapes: ouvrez l'application et sélectionnez une nouvelle connexion (CTRL N). Sélectionnez "MySQL" comme type de connexion. Entrez l'adresse Hostname / IP, le port, le nom d'utilisateur et le mot de passe. (Facultatif) Configurer les options avancées. Enregistrez la connexion et entrez le nom de la connexion.

Comment récupérer les données après que SQL supprime les lignes Comment récupérer les données après que SQL supprime les lignes Apr 09, 2025 pm 12:21 PM

La récupération des lignes supprimées directement de la base de données est généralement impossible à moins qu'il n'y ait un mécanisme de sauvegarde ou de retour en arrière. Point clé: Rollback de la transaction: Exécutez Rollback avant que la transaction ne s'engage à récupérer les données. Sauvegarde: la sauvegarde régulière de la base de données peut être utilisée pour restaurer rapidement les données. Instantané de la base de données: vous pouvez créer une copie en lecture seule de la base de données et restaurer les données après la suppression des données accidentellement. Utilisez la déclaration de suppression avec prudence: vérifiez soigneusement les conditions pour éviter la suppression accidentelle de données. Utilisez la clause WHERE: Spécifiez explicitement les données à supprimer. Utilisez l'environnement de test: testez avant d'effectuer une opération de suppression.

Comment utiliser un seul fileté redis Comment utiliser un seul fileté redis Apr 10, 2025 pm 07:12 PM

Redis utilise une architecture filetée unique pour fournir des performances élevées, une simplicité et une cohérence. Il utilise le multiplexage d'E / S, les boucles d'événements, les E / S non bloquantes et la mémoire partagée pour améliorer la concurrence, mais avec des limites de limitations de concurrence, un point d'échec unique et inadapté aux charges de travail à forte intensité d'écriture.

See all articles