Maison  >  Article  >  base de données  >  Que sont les moteurs MySQL ?

Que sont les moteurs MySQL ?

(*-*)浩
(*-*)浩original
2019-05-07 14:18:4117360parcourir

Le moteur de stockage de base de données est l'organisation logicielle sous-jacente de la base de données. Le système de gestion de base de données (SGBD) utilise le moteur de données pour créer, interroger, mettre à jour et supprimer des données. Différents moteurs de stockage fournissent différents mécanismes de stockage, techniques d'indexation, niveaux de verrouillage et autres fonctions. En utilisant différents moteurs de stockage, vous pouvez également obtenir des fonctions spécifiques.

De nombreux systèmes de gestion de bases de données prennent désormais en charge une variété de moteurs de données différents. Le cœur de MySql est le moteur de stockage.

Vue du moteur de stockage

MySQL fournit aux développeurs la fonction d'interroger le moteur de stockage. J'utilise MySQL5.1 ici. , vous pouvez utiliser la fenêtre de ligne de commande : commande

SHOW ENGINES

pour afficher le moteur utilisé par MySQL. Le résultat de la commande est (j'utilise Navicat Premium) :

Que sont les moteurs MySQL ?

Considérant que MySQL fournit aux utilisateurs de nombreux moteurs de stockage, y compris des moteurs qui traitent des tables sécurisées pour les transactions et des moteurs qui ont des tables non sécurisées pour les transactions.

Si vous souhaitez vérifier quel moteur la base de données utilise par défaut, vous pouvez utiliser la commande :

SHOW VARIABLES LIKE 'storage_engine';

pour vérifier le résultat de la requête est :

Que sont les moteurs MySQL ?

Dans MySQL, il n'est pas nécessaire d'utiliser le même moteur de stockage sur l'ensemble du serveur. Selon les exigences spécifiques, différents moteurs de stockage peuvent être utilisés pour chaque table. La valeur de la colonne Support indique si un certain moteur peut être utilisé : OUI signifie qu'il peut être utilisé, NON signifie qu'il ne peut pas être utilisé et DEFAULT signifie que le moteur est le moteur de stockage par défaut actuel.

Jetons un coup d'œil à certains des moteurs couramment utilisés.

1. Innodb

prend en charge les transactions et est sécurisé pour les transactions. Il fournit des verrous au niveau des lignes et des contraintes de clé étrangère, et dispose d'un pool de mémoire tampon pour la mise en mémoire tampon des données et des index.

Scénarios applicables : utilisé pour le traitement des transactions, avec prise en charge des transactions ACID, appliqué aux tables qui effectuent un grand nombre d'opérations d'insertion et de mise à jour.

2. MyISAM

Ne prend pas en charge les transactions, les contraintes de clé étrangère ou les verrous au niveau des lignes. La table entière doit être verrouillée pendant le fonctionnement, mais la table le sera. être enregistré. Le nombre de lignes, donc lors de l'exécution de select count(*) from tablename, l'exécution est particulièrement rapide.

Scénarios applicables : utilisés pour gérer des tables non transactionnelles, offrant des capacités de récupération à grande vitesse et de récupération de texte intégral, adaptés aux tables avec un grand nombre d'opérations de sélection, telles que les tables de journaux

3. MEMOIRE

Créez un tableau en utilisant le contenu qui existe en mémoire. Chaque mémoire ne correspond en réalité qu'à un seul fichier disque. Parce qu'il existe dans la mémoire, la vitesse d'accès à la mémoire est très rapide et le moteur utilise un index de hachage, qui peut être localisé en une seule fois. Il n'est pas nécessaire de rechercher du nœud racine au nœud de branche comme un arbre B. , donc la vitesse d'accès est très rapide lors d'une requête précise, mais elle l'est très lors d'une recherche précise, par exemple, le hachage ne fonctionnera pas dans ce type de recherche par plage. De plus, une fois le service arrêté, les données de la table seront perdues car elles ne sont pas enregistrées sur le disque.

Scénarios applicables : principalement utilisé pour les tables dont le contenu change rarement, ou comme table de recherche intermédiaire. Soyez prudent lors de la mise à jour de la table car les données n'ont pas été écrites sur le disque Avant d'arrêter le service, vous devez considérer le stockage des données

4. MERGE

Moteur de stockage MERGE Un groupe de tables de données MyISAM est traité comme une unité logique, nous permettant de les interroger en même temps. Chaque membre de la table de données MyISAM qui constitue une structure de table de données MERGE doit avoir exactement la même structure. Les colonnes de données de chaque table de données membre doivent être définies avec le même nom et le même type dans le même ordre, et les index doivent être définis dans le même ordre et de la même manière.

En plus de faciliter le référencement de plusieurs tables de données en même temps sans émettre plusieurs requêtes, la table de données MERGE offre également les commodités suivantes.

La table de données MERGE peut être utilisée pour créer une unité logique dont la taille dépasse la longueur maximale autorisée par chaque table de données MyISAM

Vous pouvez voir une table de données compressée incluse dans la table de données MERGE. Par exemple, après la fin d'une certaine année, vous ne devez plus ajouter d'enregistrements au fichier journal correspondant, vous pouvez donc utiliser l'outil myisampack pour le compresser afin d'économiser de l'espace, et la table de données MERGE peut toujours fonctionner comme d'habitude

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