Maison base de données tutoriel mysql Introduction à l'optimisation des bases de données MySQL (images et texte)

Introduction à l'optimisation des bases de données MySQL (images et texte)

Mar 25, 2019 am 11:26 AM
java mysql ubuntu

Le contenu de cet article est une introduction (images et textes) sur l'optimisation des bases de données MySQL. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

D'une part, l'optimisation de la base de données consiste à identifier les goulots d'étranglement du système et à améliorer les performances globales de la base de données MySQL. D'autre part, elle nécessite une conception structurelle raisonnable et un ajustement des paramètres pour améliorer la vitesse de réponse de l'utilisateur. , et en même temps, il doit être aussi efficace que possible. Économisez les ressources système afin que le système puisse fournir une plus grande charge (Recommandations associées : Tutoriel MySQL)

1. 🎜>

Introduction à loptimisation des bases de données MySQL (images et texte)

2. Optimisation

L'auteur divise l'optimisation en deux catégories, l'optimisation douce et l'optimisation dure implique généralement l'exploitation de la base de données, tandis que l'optimisation dure implique l'exploitation. le matériel du serveur et les paramètres des paramètres.

2.1 Optimisation logicielle

2.1.1 Optimisation de l'instruction de requête

1. Tout d'abord, nous pouvons utiliser EXPLAIN ou DESCRIBE (abréviation : DESC). commande pour analyser les informations d'exécution d'une instruction de requête.

2. Exemple :

DESC SELECT * FROM `user`
Copier après la connexion
Afficher :


Introduction à loptimisation des bases de données MySQL (images et texte)

Dans quelles informations telles que le nombre de données d'index et de requête lues seront affichées.

2.1.2 Optimisation des sous-requêtes

Dans MySQL, essayez d'utiliser JOIN au lieu de sous-requêtes, car les sous-requêtes nécessitent des requêtes imbriquées, a. Une table temporaire sera créée lors de l'imbrication des requêtes. La création et la suppression de la table temporaire entraîneront une surcharge système importante, et les requêtes de jointure ne créent pas de tables temporaires, l'efficacité est donc supérieure à celle des sous-requêtes imbriquées.

2.1.3 Utilisation index

Les index sont un moyen d'améliorer la base de données. L'une des méthodes les plus importantes pour la vitesse des requêtes. Concernant les index, vous pouvez vous référer à l'article de l'auteur "MySQL Database Index" pour une introduction plus détaillée. précautions d'utilisation des index :

    Touche LIKE Le mot correspond à la chaîne commençant par '%', et l'index ne sera pas utilisé
  1. Les deux champs du mot-clé OR doivent être indexés. , et la requête utilisera l'index.
  2. Utiliser plusieurs L'index de colonne doit satisfaire la correspondance la plus à gauche.
2.1.4 Table décomposée

Pour les tables avec plusieurs champs, si certains champs sont utilisés moins fréquemment, ils doivent être séparés pour former une nouvelle table,

2.1.5 Table intermédiaire

Pour les tables qui interrogent un grand nombre de connexions, une table intermédiaire peut être créé pour réduire la connexion fastidieuse provoquée lors de la requête.

2.1.6 Ajouter des champs redondants

Semblable à la création d'une table intermédiaire, l'ajout de redondance consiste également à réduire les requêtes de connexion.

2.1.7 Analyser les tableaux, vérifier les tableaux, optimiser les tableaux

Le tableau d'analyse analyse principalement la répartition des mots-clés dans le tableau, le tableau de contrôle vérifie principalement s'il y a des erreurs dans le tableau, et le La table d'optimisation élimine principalement le gaspillage d'espace table causé par la suppression ou la mise à jour

Table d'analyse : utilisez le mot-clé ANALYZE, tel que l'utilisateur ANALYZE TABLE ;

Introduction à loptimisation des bases de données MySQL (images et texte)Op : indique l'opération effectuée.

Msg_type : type d'informations, y compris l'état, les informations, la note, l'avertissement, l'erreur.
Msg_text : afficher les informations.

Liste de contrôle : utilisez le mot-clé CHECK, tel que l'utilisateur CHECK TABLE [option]

L'option n'est valable que pour MyISAM, avec un total de cinq valeurs de paramètres :

RAPIDE : Pas d'analyse des lignes, ne vérifiez pas les mauvaises connexions.

RAPIDE : Vérifiez uniquement les tables qui n'ont pas été vérifiées. fermé correctement.

CHANGED : Vérifiez uniquement les tables qui ont été modifiées depuis la dernière vérification et les tables qui n'ont pas été fermées correctement.

MEDIUM : Scannez les lignes pour vérifier que la connexion supprimée est valide. , et peut également calculer la somme de contrôle de clé de chaque ligne.

ÉTENDU : la vérification la plus complète, clé pour chaque ligne Recherche de mots complète

Optimiser le tableau : utilisez le mot-clé OPTIMIZE, tel que. Utilisateur OPTIMIZE [LOCAL|NO_WRITE_TO_BINLOG] TABLE ; VARCHAR, BLOB et TEXT sont valides. La fragmentation des fichiers peut être éliminée via l'instruction OPTIMIZE TABLE et des verrous en lecture seule seront ajoutés lors de l'exécution.

2.2 Optimisation matérielle

2.2.1 Ensemble matériel en trois parties

1. Configurer un processeur multicœur et haute fréquence peut exécuter plusieurs threads

2. augmentez la mémoire pour augmenter la capacité du cache, réduisant ainsi le temps d'E/S du disque, améliorant ainsi la vitesse de réponse.

3. Configurez des disques à grande vitesse ou des disques raisonnablement distribués : les disques à grande vitesse améliorent les I/. O et les disques distribués peuvent améliorer la capacité des opérations parallèles.

2.2.2 Optimiser les paramètres de la base de données

L'optimisation des paramètres de la base de données peut améliorer l'utilisation des ressources et ainsi améliorer les performances du serveur MySQL. Les services MySQL sont tous dans my.cnf ou my.ini. Voici ceux qui ont le plus grand impact sur les performances.

key_buffer_size : taille du tampon d'index

table_cache : le nombre de. tables pouvant être ouvertes simultanément

query_cache_size et query_cache_type : le premier est la taille du tampon de requête, le second est le commutateur du paramètre précédent, 0 signifie ne pas utiliser le tampon, 1 signifie utiliser le tampon, mais vous pouvez utiliser SQL_NO_CACHE dans la requête pour signifier ne pas utiliser le tampon, 2 signifie Utiliser le tampon uniquement s'il est clairement indiqué dans la requête, c'est-à-dire SQL_CACHE.

sort_buffer_size : Tampon de tri

Portail :Plus de paramètres

2.2.3 Sous-base de données et sous-table

La pression de la base de données étant trop élevée, le premier problème est que les performances du système peuvent être réduites pendant les périodes de pointe, car une base de données excessive la charge aura un impact sur les performances. Autre question, que devez-vous faire si votre base de données plante à cause d’une pression excessive ? Ainsi, à ce stade, vous devez diviser le système en bases de données et tables + séparation lecture-écriture, c'est-à-dire diviser une base de données en plusieurs bases de données, les déployer sur plusieurs services de base de données, puis servir de base de données principale pour gérer les demandes d'écriture. Ensuite, chaque bibliothèque maître monte au moins une bibliothèque esclave, et la bibliothèque esclave gère les demandes de lecture.

Introduction à loptimisation des bases de données MySQL (images et texte)

2.2.4 Cluster de cache

Si le nombre d'utilisateurs devient de plus en plus grand, vous pouvez continuer à ajouter des machines à ce moment, par exemple, à au niveau du système. En ajoutant plus de machines, vous pouvez gérer des demandes simultanées plus élevées. Ensuite, si la concurrence d'écriture au niveau de la base de données devient de plus en plus élevée, le serveur de base de données sera étendu et la machine sera étendue via le partitionnement de sous-bases de données et de tables. Si la concurrence de lecture au niveau de la base de données devient de plus en plus élevée, la capacité. sera étendu et davantage de bases de données esclaves seront ajoutées. Mais il y a ici un gros problème : la base de données elle-même n'est pas réellement utilisée pour traiter un nombre élevé de requêtes simultanées. Par conséquent, d'une manière générale, la concurrence portée par une seule machine de base de données par seconde est de l'ordre de milliers, et les machines utilisées par la base de données sont de l'ordre de plusieurs milliers. configuration relativement élevée, machines relativement chères, le coût est très élevé. Si vous continuez simplement à ajouter des machines, c’est en réalité une erreur. Par conséquent, le cache est généralement inclus dans les architectures à haute concurrence. Le système de cache est conçu pour supporter une haute concurrence. Par conséquent, la quantité de concurrence transportée par une seule machine est de plusieurs dizaines de milliers, voire centaines de milliers par seconde, et la capacité de charge d'une concurrence élevée est d'un à deux ordres de grandeur supérieure à celle d'un système de base de données. Par conséquent, vous pouvez introduire complètement un cluster de cache pour les requêtes qui nécessitent moins d'écriture et plus de lecture en fonction des caractéristiques métier du système. Plus précisément, lors de l'écriture dans la base de données, une copie des données est écrite simultanément dans le cluster de cache, puis le cluster de cache est utilisé pour transporter la plupart des requêtes de lecture. Dans ce cas, grâce au clustering de cache, moins de ressources machine peuvent être utilisées pour héberger une concurrence plus élevée.

Introduction à loptimisation des bases de données MySQL (images et texte)

Conclusion

Une architecture système complète et complexe à haute concurrence comprendra certainement : divers systèmes d'infrastructure complexes auto-développés. Toutes sortes de conceptions architecturales exquises. Par conséquent, un petit article peut tout au plus avoir pour effet d'inspirer les autres, mais c'est tout pour les idées d'optimisation de base de données.

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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: une introduction à la base de données la plus populaire au monde MySQL: une introduction à la base de données la plus populaire au monde Apr 12, 2025 am 12:18 AM

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

PHP: un langage clé pour le développement Web PHP: un langage clé pour le développement Web Apr 13, 2025 am 12:08 AM

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

PHP vs autres langues: une comparaison PHP vs autres langues: une comparaison Apr 13, 2025 am 12:19 AM

PHP convient au développement Web, en particulier dans le développement rapide et le traitement du contenu dynamique, mais n'est pas bon dans les applications de la science des données et de l'entreprise. Par rapport à Python, PHP présente plus d'avantages dans le développement Web, mais n'est pas aussi bon que Python dans le domaine de la science des données; Par rapport à Java, PHP fonctionne moins bien dans les applications au niveau de l'entreprise, mais est plus flexible dans le développement Web; Par rapport à JavaScript, PHP est plus concis dans le développement back-end, mais n'est pas aussi bon que JavaScript dans le développement frontal.

Place de MySQL: bases de données et programmation Place de MySQL: bases de données et programmation Apr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

PHP: la fondation de nombreux sites Web PHP: la fondation de nombreux sites Web Apr 13, 2025 am 12:07 AM

Les raisons pour lesquelles PHP est la pile technologique préférée pour de nombreux sites Web incluent sa facilité d'utilisation, son soutien communautaire solide et son utilisation généralisée. 1) Facile à apprendre et à utiliser, adapté aux débutants. 2) Avoir une énorme communauté de développeurs et des ressources riches. 3) Largement utilisé dans WordPress, Drupal et d'autres plateformes. 4) Intégrez étroitement aux serveurs Web pour simplifier le déploiement du développement.

PHP vs Python: fonctionnalités et fonctionnalités de base PHP vs Python: fonctionnalités et fonctionnalités de base Apr 13, 2025 am 12:16 AM

PHP et Python ont chacun leurs propres avantages et conviennent à différents scénarios. 1.PHP convient au développement Web et fournit des serveurs Web intégrés et des bibliothèques de fonctions riches. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et une bibliothèque standard puissante. Lors du choix, il doit être décidé en fonction des exigences du projet.

Pourquoi utiliser MySQL? Avantages et avantages Pourquoi utiliser MySQL? Avantages et avantages Apr 12, 2025 am 12:17 AM

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Comment se connecter à la base de données d'Apache Comment se connecter à la base de données d'Apache Apr 13, 2025 pm 01:03 PM

Apache se connecte à une base de données nécessite les étapes suivantes: Installez le pilote de base de données. Configurez le fichier web.xml pour créer un pool de connexion. Créez une source de données JDBC et spécifiez les paramètres de connexion. Utilisez l'API JDBC pour accéder à la base de données à partir du code Java, y compris l'obtention de connexions, la création d'instructions, les paramètres de liaison, l'exécution de requêtes ou de mises à jour et de traitement des résultats.

See all articles