Maison  >  Article  >  base de données  >  Une utilisation avancée de MySQL

Une utilisation avancée de MySQL

亚连
亚连original
2018-05-10 10:06:105842parcourir

Lorsque nous maîtrisons les opérations de base de Mysql, telles que les instructions de création de tables, les instructions SQL simples, etc., nous pouvons également effectuer certaines opérations de configuration sur MySQL lui-même, et même optimiser Mysql. Pour des connaissances MySQL plus avancées, veuillez visiter la chaîne tutoriel MySQL sur le site Web PHP chinois.

1. Fichier de configuration MySQL.

est le fichier my.ini sous Windows :

1), log-bin : représente le fichier journal de la réplication maître-esclave, utilisé pour la réplication maître-esclave.

2), log-error="SO3JFYNN8EW6GMO.err" : indique le journal des erreurs.

3), server-id=1 : Indique que le numéro de série de cette machine est 1.

4), datadir=D:/mysql5.7/Data : répertoire de stockage des informations de la base de données,

2 L'architecture de mysql est divisée en quatre couches de haut en bas. :
1), couche de connexion : traitement de la connexion, authentification des autorisations et solutions de sécurité associées.

2), Couche de service : optimisation SQL complète, analyse, mise en cache et autres fonctions.

3) Couche moteur : responsable du stockage et de l'extraction des données.

4), Couche de stockage : Couche de stockage de données, stocke principalement les données dans le système de fichiers et complète l'interaction avec le moteur.

3. Moteur mysql

1) Vérifiez le moteur utilisé :

afficher les moteurs ou afficher

Comparaison entre MYISAM et INNODB

ne prend pas en charge les paires de valeurs de clé primaire et étrangère ; prend en charge

ne prend pas en charge les transactions ; prend en charge les verrous de table

, ne convient pas aux verrous de ligne à haute concurrence ; concurrence

Mise en cache uniquement l'index ; met en cache l'index et les données, ce qui nécessite plus de mémoire

L'espace table est petit ; l'espace table est grand

L'accent est mis sur les performances , et il convient à de nombreuses requêtes dans plus de cas ; Concentrez-vous sur les sujets.

4. Raisons de la baisse de l'optimisation des performances MySQL

1), instructions de requête mal écrites

2), échec de l'index

Index à valeur unique


Créer un index idx_user_name sur l'utilisateur (nom)

Index composite

Créer un index idx_user_name_email sur l'utilisateur (nom, email)

3), la requête a trop de jointures

4), réglage du serveur et divers paramètres

5, ordre d'exécution mysql

La machine commence à lire à partir de.

1), jointure interne

sélectionnez *from tableA A jointure interne tableB B sur A.key=B.key.

2), jointure externe gauche

sélectionnez *from tableA A gauche jointure tableB B sur A.key= B.key

Lorsque b n'existe pas, utilisez null pour complétez-le.

3), jointure externe droite

sélectionnez *from tableA A right join tableB B on A.key=B.key

Quand a n'existe pas, complétez-le avec null

4), jointure externe gauche, supprimez la partie droite de la table

sélectionnez *from tableA A gauche join tableB B sur A.key=B.key où B.key est null

Unique à a, b est rempli de null à ce moment, donc b est vide à ce moment.

5), jointure externe droite, supprimez la partie gauche de la table

sélectionnez *from tableA A right join tableB B on A.key = B.key où A.key est null

6), jointure complète (vous pouvez ajouter les deux) l'union peut être combinée et dédupliquée

sélectionnez *from tableA A left join tableB B on A.key=B.key union

(sélectionnez *from tableA A right join tableB B )

7), le centre est vide


sélectionnez *from tableA A left join tableB B sur A .key=B.key où B.key est une union nulle

(sélectionnez *dans la tableA A, rejoignez à droite la tableB B sur A.key=B.key où A.key est nulle)

6. Qu'est-ce qu'un index ?

1) Un index est une structure de données qui améliore l'efficacité de la recherche.

Recherchez rapidement les structures de données dans l'ordre.

La base de données maintient des structures de données qui satisfont des algorithmes spécifiques. Cette structure de données pointe vers les données d'une certaine manière

, afin que des super recherches avancées puissent être mises en œuvre sur ces structures de données

Algorithme, cette structure de données est appelée index.

Index BTREE (sans désignation spéciale)

Les champs fréquemment supprimés ne conviennent pas à la création d'index.

2) Avantages

Améliorer l'efficacité de la récupération des données et réduire le coût d'E/S de la base de données

Trier les données via des colonnes d'index, réduire le coût de tri des données et réduire la consommation CPU

3) Inconvénients

L'index est également une table et prend de l'espace disque.

Lors de la mise à jour de la table, vous devez conserver l'index, ce qui réduira l'efficacité de la mise à jour.

L'indexation n'est qu'un facteur qui améliore l'efficacité, et il faut du temps et des efforts pour créer un index.

4) L'index à valeur unique ne contient qu'une seule colonne. Une table peut avoir plusieurs index à valeur unique.

5), index unique, la valeur de la colonne d'index doit être unique et peut être vide.

6), index composé, comprenant plusieurs colonnes.

7), opérations liées à l'index

créer un index idx_user_name sur l'utilisateur (nom)

modifier l'utilisateur ajouter un index idx_user_name sur (nom)

afficher l'index de utilisateur

déposez l'index idx_user_name sur l'utilisateur

8), structure d'index

index de hachage

index de texte intégral en texte intégral

Index R -Tree

Indice BTree :

7. Dans quelles circonstances doit-on créer un index :

1), le constructeur principal crée automatiquement un index unique

2). Les champs fréquemment utilisés comme conditions de requête doivent être indexés

3). Pour les champs associés à d'autres tables de la requête, des relations externes doivent être créées pour créer des index. .

4). Les champs fréquemment mis à jour ne conviennent pas à la création d'index

5). Créez des index pour les champs qui ne sont pas utilisés dans la condition Where.

6). Le choix d'un index unique ou combiné. En cas de concurrence élevée, les index composites ont tendance à être créés

7). l'index , améliorera l'efficacité

8), les statistiques ou le regroupement de champs dans les requêtes

8 Dans quels cas il n'est pas nécessaire de créer un index :

1), table Trop peu d'enregistrements

2), tables fréquemment ajoutées ou supprimées

3), champs avec des données en double et même distribution.

9. Analyse des performances :

optimiseur de requêtes MySQL

Ce qui précède est une connaissance avancée de Mysql que j'espère que ce sera le cas. utile à tout le monde.

Articles associés :

Syntaxe de base MySQL

Maîtriser la clause Where PHP 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!

Déclaration:
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