Maison > Article > base de données > Explication détaillée du moteur de stockage de la base de données MySQL
Cet article parle du moteur de stockage de la base de données mysql, donc les étudiants qui ne connaissent pas grand-chose au moteur de stockage de la base de données mysql et à notre moteur devraient jeter un œil à cet article sur le moteur de stockage de base de données mysql !
Type | Signification | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Couche de stockage | Moteur de stockage, sélection du type de champ, conception de paradigme | ||||||||||
Couche de conception |
Index
|
||||||||||
Architecture Couche | Paramètres du serveur MySQL multiples,Lire -séparation d'écriture (mode maître-esclave) | ||||||||||
Couche d'instructions SQL | Lorsque plusieurs instructions SQL peuvent atteindre l'objectif, choisissez une instruction SQL rapide et hautes performances |
Moteur de stockage : Les données que nous utilisons sont stockées dans la base de données grâce à certaines technologies. Les données de la base de données sont stockées sur le disque dur sous forme de fichiers. Il existe plusieurs technologies, et chaque technologie a ses propres performances et fonctionnalités. La combinaison de la technologie et des fonctionnalités permettant de stocker des données est appelée « moteur de stockage ».
Moteurs de stockage fréquemment utilisés dans MySQL : Myisam
ou Innodb
et ainsi de suite.
Les données de la base de données sont stockées dans différents moteurs de stockage et toutes les fonctionnalités sont liées au moteur de stockage actuel. Différents moteurs de stockage doivent être sélectionnés en fonction des besoins et des caractéristiques du projet.
Afficher tous les moteurs de stockage pris en charge dans MySQL :
base de données Trois aspects des informations de conception de données pour chaque table de données : structure de la table, données, index
Caractéristiques techniques : prise en charge des transactions, verrouillage au niveau des lignes, clés étrangères
Stockage physique de la structure des tables, des données et des index
Créer une table de données innodb :
Fichier de structure de table :
Emplacement physique du fichier de ce type de données et index :
Les données et informations d'index de toutes les tables innodb sont stockées dans les fichiers ibdata1 suivants
pour Tables de type innodb Les données et index créent leur propre espace de stockage correspondant :
Par défaut, les données et index de chaque table innodb ne créeront pas de stockage de fichiers séparé
Définissez la variable de sorte que chaque table innodb ait des données et des fichiers de stockage d'index uniques :
Recréez la table de données order2 :
À l'heure actuelle, la table de données order2 contient des fichiers de stockage de données et d'index séparés :
Peu importe comment l'état de configuration de innodb_file_per_table change plus tard, les données et l'index de order2 ont des emplacements de stockage indépendants
Ordre de stockage des données
Table Innodb les données sont stockées selon la clé primaire. Organisez chaque donnée écrite dans l'ordre.
Cette fonctionnalité détermine que l'opération d'écriture de ce type de table est plus lente.
Ce type de table de données prend en charge les transactions et les clés étrangères
Transactions : http://blog.csdn.net/ change_any_time /article/details/79488020
Clé étrangère : deux tables de données A et B. La clé primaire de la table B est un champ ordinaire de la table A. Quand vous regardez ce champ ordinaire dans le tableau A, c'est La "clé étrangère" du tableau, l'utilisation de la clé étrangère a des "contraintes".
Contraintes : pour les deux tables ci-dessus, les données de la table B doivent être écrites en premier, puis les données de la table A, et la valeur de clé étrangère de la table A doit provenir de la valeur d'identifiant de clé primaire de la table B et ne peut pas dépasser sa plage. .
Les "clés étrangères" sont rarement utilisées dans les projets réels en raison de contraintes.
La concurrence de ce type de table est très élevée. Plusieurs personnes exploitent la table de données en même temps. Afin de faire fonctionner la table de données, le le contenu des données ne se produira pas au hasard. Les modifications nécessitent des informations de « verrouillage »
Le niveau de verrouillage de ce type est : verrouillage de ligne. Seul l'enregistrement en cours d'exploitation est verrouillé.
La structure, les données et les index sont stockés indépendamment. Ce type de table de données dispose de fichiers de stockage indépendants pour la structure de la table, les données et les index :
Type de fichier de table | Signification |
---|---|
*.frm | Fichier de structure de table |
*.MYD | Fichier de données de table | *.MYI | Fichier d'index de table
|
Le stockage des données de la table myisam consiste à organiser chaque donnée écrite dans l'ordre naturel.
Cette fonctionnalité détermine que l'opération d'écriture de ce type de tableau est plus rapide.
Cette fonctionnalité détermine que l'opération d'écriture de ce type de table est plus rapide.
Si une table de données contient beaucoup de données, afin d'économiser de l'espace de stockage, la table doit être compressée.
Copier les données de la table de données actuelle :
La copie continue fait en sorte que les données de la table de données order3 deviennent plus de 2 millions d'articles :
La taille physique correspondante du fichier stockant les 2 millions d'informations est supérieure à 40 mégaoctets :
Commencer à compresser les données de la table de données order3
Outil de compression : myisampack.exe Nom de la table
Reconstruire l'index : myisamchk.exe -rq nom de la table
Outil de décompression : myisamchk.exe –décompresser le nom de la table
60% de l'espace où les informations de la table order3 sont compressées :
La commande3 la table de données est compressée, mais l'index a disparu :
Reconstruisez l'index :
L'index est bien reconstruit :
Rafraîchir la table de données : vider la table nom de la table
Occurrence : Le tableau de données compressées est un tableau en lecture seule, les informations ne peuvent pas être écrites :
Les tableaux de données compressés ont des caractéristiques : les opérations d'écriture fréquentes ne sont pas possibles, mais les tableaux de données à contenu fixe peuvent être compressés, par exemple (Tableaux de données qui stockent des informations nationales et régionales, etc.)
Si vous devez écrire des données : décompressez la table de données, écrivez les données, puis compressez
décompressez la table de données order3 pour qu'elle puisse écrire des données : (Décompressez et indexez simultanément Reconstruction automatique)
Décompression des données terminée :
Effectuer l'opération de vidage et mettre à jour le fichier décompressé. Données : flush table 表名
; Cette opération supprimera également le fichier de sauvegarde compressé de order3.MYD.00996D46.deleted
Pour le moment, il est permis de continuer écriture des données sur commande3 :
moteur de stockage innodb : adapté à la modification et à la suppression
Moteur de stockage Myisam : adapté aux requêtes et à l'écriture
Moteur de stockage innodb : adapté à la modification et à la suppression
Moteur de stockage Myisam : adapté à l'interrogation et à l'écriture de la
moteur de stockage en mémoire. La vitesse de fonctionnement est très rapide et elle est plus adaptée au stockage d'informations temporaires. les données du moteur de stockage seront perdues immédiatement.
Dans la plupart des cas, le site Web comporte de nombreuses opérations de "lecture et écriture", il convient donc de choisir le type Myisam (par exemple : dedecms , système de gestion de contenu phpcms (site d'actualités), forum discuz)
Le site Web a certaines exigences en matière de logique métier (site Web de bureau, centre commercial), il convient pour choisir innodb (le moteur de stockage par défaut de Mysql5.5 est innodb)
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!