moteur de table

Qu'est-ce que la base de données MySql

De manière générale, une base de données est une collection de données. Plus précisément, une base de données sur un ordinateur peut être une collection de fichiers sur. la mémoire ou une collection de certaines données en mémoire.
Ce que nous appelons habituellement la base de données MySql, la base de données du serveur SQL, etc. sont en fait des systèmes de gestion de bases de données. Ils peuvent stocker des données et fournir des fonctions d'interrogation et de mise à jour des données dans la base de données, etc. Selon le mécanisme de mise en œuvre de la manière dont la base de données stocke les données et comment exploiter les données, il existe des différences et des similitudes entre ces bases de données.
La base de données MySql est une base de données relationnelle open source. Actuellement, les fonctions qu'il peut fournir incluent : la prise en charge du langage SQL, des sous-requêtes, des procédures stockées, des déclencheurs, des vues, des index, des transactions, des verrous, des contraintes de clé étrangère et de la réplication d'images, etc. Nous expliquerons ces fonctions en détail plus tard.
Comme les grands systèmes de bases de données tels qu'Oracle et SQL Server, MySql est également un système client/serveur et une base de données avec une architecture multithread à processus unique.
Une caractéristique importante qui distingue MySql des autres systèmes de bases de données est sa prise en charge des moteurs de stockage de plug-ins.

Alors, qu'est-ce qu'un moteur de stockage ?

Pour faire simple, un moteur de stockage est la mise en œuvre de technologies telles que la manière de stocker les données, la manière d'indexer les données stockées et la manière de mettre à jour et d'interroger les données. Étant donné que les données sont stockées sous forme de table dans une base de données relationnelle, le moteur de stockage peut également être appelé type de table (c'est-à-dire le type de stockage et de fonctionnement de cette table).
Il n'y a qu'un seul moteur de stockage dans les bases de données telles qu'Oracle et SQL Server, et tous les mécanismes de gestion du stockage des données sont les mêmes. La base de données MySql fournit une variété de moteurs de stockage. Les utilisateurs peuvent choisir différents moteurs de stockage pour les tables de données en fonction de différents besoins, et les utilisateurs peuvent également écrire leurs propres moteurs de stockage en fonction de leurs propres besoins. Quels moteurs de stockage existe-t-il dans MySql ?
1 MyISAM : Ce moteur est le premier fourni par mysql. Ce type de moteur peut être divisé en trois types : MyISAM statique, MyISAM dynamique et MyISAM compressé :
MyISAM statique : Si la longueur de chaque colonne de données dans la table de données est préfixée, le serveur sélectionnera automatiquement ce type de table . Étant donné que chaque enregistrement de la table de données occupe le même espace, l'efficacité de l'accès et de la mise à jour de la table est très élevée. Lorsque les données sont endommagées, la récupération est plus facile.
MyISAM dynamique : Si des champs varchar, xxxtext ou xxxBLOB apparaissent dans la table de données, le serveur sélectionnera automatiquement ce type de table. Par rapport à MyISAM statique, l'espace de stockage de ce type de table est relativement petit, mais comme la longueur de chaque enregistrement est différente, après que les données ont été modifiées plusieurs fois, les données de la table de données peuvent être stockées discrètement dans la mémoire, ce qui entraîne à son tour une diminution de l’efficacité de l’exécution. Dans le même temps, la mémoire peut également être fortement fragmentée. Par conséquent, ce type de table doit souvent être défragmenté à l’aide de la commande optimise la table ou d’un outil d’optimisation.
Compresser MyISAM : les deux types de tables mentionnés ci-dessus peuvent être compressés à l'aide de l'outil myisamchk. Ce type de table réduit encore l'encombrement du stockage, mais ce type de table ne peut pas être modifié après compression. De plus, comme il s'agit de données compressées, ce type de tableau doit d'abord être décompressé lors de la lecture.
Cependant, quel que soit le type de table MyISAM, elle ne prend actuellement pas en charge les transactions, les verrous au niveau des lignes et les contraintes de clé étrangère.
2 Moteur de fusion MyISAM : Ce type est une variante du type MyISAM. La fusion de tables consiste à fusionner plusieurs tables MyISAM identiques en une table virtuelle. Couramment utilisé dans les journaux et les entrepôts de données.
3 InnoDB : Le type de table InnoDB peut être considéré comme un produit mis à jour de MyISAM. Il fournit les fonctions de transactions, le mécanisme de verrouillage au niveau des lignes et les contraintes de clé étrangère.
4 mémoire (tas) : Ce type de table de données n'existe qu'en mémoire. Il utilise un index de hachage, l'accès aux données est donc très rapide. Parce qu'il existe en mémoire, ce type est souvent utilisé dans les tables temporaires.
5 archive : ce type prend uniquement en charge les instructions select et insert, et ne prend pas en charge les index. Souvent utilisé dans la journalisation et l’analyse globale.
Bien entendu, MySql prend en charge plus de types de tables que ceux ci-dessus.

Nous présentons plusieurs moteurs couramment utilisés et découvrons plusieurs moteurs moins couramment utilisés. Évitez de voir certains moteurs qui ne connaissent pas les concepts fonctionner réellement à l’avenir.

QQ截图20161009152103.png

Les deux moteurs de stockage les plus couramment utilisés :

· Myisam est le moteur de stockage par défaut pour Mysql. Lorsque create crée une nouvelle table et que le moteur de stockage de la nouvelle table n'est pas spécifié, Myisam est utilisé par défaut. Chaque MyISAM est stocké sous forme de trois fichiers sur le disque. Les noms de fichiers sont les mêmes que les noms de table et les extensions sont .frm (définition de table de stockage), .MYD (MYData, stockage de données) et .MYI (MYIndex, stockage d'index). Les fichiers de données et les fichiers d'index peuvent être placés dans différents répertoires pour répartir uniformément les E/S et obtenir des vitesses plus rapides.                                                                                                                                                                                                                         Le moteur de stockage InnoDB assure la sécurité des transactions avec des capacités de validation, d'annulation et de récupération après incident. Cependant, par rapport au moteur de stockage de Myisam, l'efficacité du traitement d'écriture d'InnoDB est moins efficace et prend plus d'espace disque pour conserver les données et les index.

Comment choisir un moteur de stockage approprié

Critères de sélection : Choisissez un moteur de stockage approprié en fonction des caractéristiques de l'application. Pour les systèmes d'application complexes, plusieurs moteurs de stockage peuvent être sélectionnés et combinés en fonction. la situation réelle.

Voici les environnements applicables pour les moteurs de stockage couramment utilisés :

1. MyISAM : le moteur de stockage de plug-in MySQL par défaut, qui est le stockage le plus couramment utilisé dans le Web, l'entreposage de données et. autres environnements d'application L'un des moteurs

2. InnoDB : utilisé pour les applications de traitement de transactions, avec de nombreuses fonctionnalités, dont la prise en charge des transactions ACID.

3. Mémoire : enregistre toutes les données dans la RAM, offrant un accès extrêmement rapide dans les environnements où les références et autres données similaires doivent être trouvées rapidement.

4. Fusion : permet au DBA ou au développeur MySQL de combiner logiquement une série de tables MyISAM équivalentes et de les référencer en un seul objet. Il est très adapté aux environnements VLDB tels que l'entreposage de données.

MyISAM

ne prend pas en charge les transactions, les verrous de table (verrous au niveau de la table, le verrouillage verrouillera la table entière), prend en charge les index de texte intégral et a une vitesse de fonctionnement rapide. Souvent utilisé pour les entreprises qui lisent beaucoup.

1. La table du moteur de stockage myisam se compose de myd et myi. .myd est utilisé pour stocker les fichiers de données et .myi est utilisé pour stocker les fichiers d'index.

2. Pour les tables du moteur de stockage myisam, la base de données mysql met uniquement en cache ses fichiers d'index, et la mise en cache des fichiers de données est effectuée par le système d'exploitation lui-même.

InnoDB

1. Prend en charge les transactions, principalement pour les applications de traitement des transactions en ligne (OLTP).

2. La conception du verrouillage de ligne prend en charge les clés étrangères, c'est-à-dire que les opérations de lecture ne sont pas verrouillées par défaut.

InnoDB est conçu pour des performances maximales lors du traitement d'énormes quantités de données.

Remarque :
Verrouillage de ligne : verrouillez cette ligne pendant les opérations d'écriture et de mise à jour pour empêcher d'autres personnes de l'utiliser.
Verrouillage de la table : lors des opérations d'écriture et de mise à jour, verrouillez la table pour empêcher d'autres personnes de l'utiliser.
Transaction : exploitez plusieurs données en même temps, si l'une des opérations de données échoue. Peut revenir à avant l'opération. Couramment utilisé dans les systèmes bancaires, de commerce électronique, financiers et autres.


Formation continue
||
<?php echo "Hello Mysql"; ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel