Série MySQL - comment la table est-elle composée?

Série MySQL - comment la table est-elle composée?

Fonctionnement et entretien YouthO & M Youth

Description de la série d'articles

Les articles de la série MySQL incluent l'installation de logiciels, l'utilisation spécifique, la sauvegarde et la restauration, etc., qui sont principalement utilisés pour enregistrer des notes d'étude personnelles.La version principale de MySQL utilisée est la 5.7.28 et la version du système serveur est CentOS 7.5. Ce chapitre explique en détail la composition des tables de base de données.

Comment la table est-elle composée?

L'utilisateur peut créer une table de données dans la base de données spécifiée. Lors de sa création, vous devez spécifier le nom de la colonne, le type de données de colonne, l'attribut de colonne, le moteur de stockage et la composition du jeu de caractères de la table.

Déclaration de création de composition de table


La table peut être créée à l'aide de l'instruction suivante.


create table 表名(列名 列数据类型 列约束 列属性) engine=引擎 charset=字符集;

Moteur de stockage de composition de table


Le moteur de base de données est le principal service utilisé pour stocker, traiter et protéger les données. Le moteur de base de données peut être utilisé pour contrôler les droits d'accès et traiter rapidement les transactions, répondant ainsi aux exigences de la plupart des applications qui doivent traiter de grandes quantités de données dans l'entreprise. Utilisez le moteur de base de données pour créer une base de données relationnelle pour le traitement des transactions en ligne ou l'analyse et le traitement des données en ligne. Cela inclut la création de tables pour stocker des données et des objets de base de données (tels que des index, des vues et des procédures stockées) pour afficher, gérer et protéger la sécurité des données.

0 1 Quels sont les moteurs de stockage?


Comment vérifier les moteurs de stockage pris en charge par la base de données?


show engines;

0 2 Moteurs de stockage couramment utilisés


INNODB

  • InnoDB est un moteur de stockage transactionnel avec un verrouillage au niveau des lignes et des contraintes de clé étrangère.
    Le moteur Innodb prend en charge les transactions ACID de la base de données et implémente les quatre niveaux d'isolement de la norme SQL. Le moteur fournit également des verrous au niveau des lignes et des contraintes de clé étrangère. Son objectif de conception est de gérer les systèmes de base de données de grande capacité. Il s'agit en fait d'un système de base de données complet basé sur l'arrière-plan de MySQL. Lorsque MySQL est en cours d'exécution, Innodb crée un pool de mémoire tampon en mémoire pour les données et l'index du tampon. Cependant, le moteur ne prend pas en charge les index de type FULLTEXT et n'enregistre pas le nombre de lignes de la table. Lorsque SELECT COUNT (*) FROM TABLE, il doit analyser la table entière. Lorsque vous avez besoin d'utiliser des transactions de base de données, ce moteur est bien sûr le premier choix. Étant donné que la granularité du verrouillage est plus petite, l'opération d'écriture ne verrouille pas la table entière, donc lorsque la concurrence est élevée, l'utilisation du moteur Innodb améliorera l'efficacité. Cependant, l'utilisation de verrous au niveau des lignes n'est pas absolue. Si MySQL ne peut pas déterminer la plage à analyser lors de l'exécution d'une instruction SQL, la table InnoDB verrouille également la table entière.

  • Scénarios où InnoDB peut être utilisé
    1) Les tables fréquemment mises à jour conviennent pour gérer plusieurs demandes de mise à jour simultanées.

2) Affaires de soutien.

3) Il peut être récupéré après la catastrophe (via le journal bin-log, etc.).

4) Contraintes de clé étrangère. Seulement, il prend en charge les clés étrangères.

5) Prise en charge de l'ajout automatique de l'attribut de colonne auto_increment.

MyISAM

MyIASM est le moteur par défaut de MySQL, mais il ne prend pas en charge les transactions de base de données, ni ne prend en charge les verrous au niveau des lignes et les clés étrangères. Par conséquent, lorsque les données INSERT (insertion) ou UPDATE (mise à jour), les opérations d'écriture doivent verrouiller le table entière, ce qui est efficace Il sera plus bas.

  • Scénario applicable
    1) La conception des transactions n'est pas prise en charge, mais cela ne signifie pas que les projets comportant des opérations de transaction ne peuvent pas utiliser le moteur de stockage MyIsam. Vous pouvez effectuer le contrôle correspondant dans la couche de service en fonction de vos propres besoins métier.

2) Conception de table qui ne prend pas en charge les clés étrangères.

3) La vitesse de requête est très rapide, elle est plus adaptée si les opérations d'insertion et de mise à jour de la base de données sont plus importantes.

4) Le scénario où la table est verrouillée toute la journée.

5) MyISAM met l'accent sur les opérations de lecture rapide.

6) Le nombre de lignes de la table est stocké dans MyIASM, donc lorsque SELECT COUNT (*) FROM TABLE, il vous suffit de lire directement la valeur enregistrée sans effectuer une analyse complète de la table. Si la table comporte beaucoup plus d'opérations de lecture que d'écriture et ne nécessite pas la prise en charge des transactions de base de données, MyIASM est également un bon choix.

Remarque: le moteur de stockage MyIASM ne peut pas réparer activement la table une fois la table endommagée

comment choisir?

1) Si la fiabilité est élevée ou si le traitement des transactions est requis, InnoDB est utilisé. c'est un must.

2) Les mises à jour et requêtes de table sont assez fréquentes, et le risque de verrouillage de table est relativement grand, spécifiez la création du moteur de données InnoDB.

3) Choisissez MyIASM pour effectuer de nombreux calculs de comptage, tels que certains journaux et tableaux de sondage.

4) L'insertion et la modification ne sont pas fréquentes et le moteur MyIASM est très fréquemment sélectionné pour les requêtes.

0 3 Comment paramétrer, visualiser et modifier le moteur de stockage?


  • Lors de la création d'une table, utilisez engine = xxx pour spécifier le moteur de stockage de table.

 create table yunweit1(id int) engine=innodb;
  • Comment afficher le moteur de stockage d'une table

show table status from 数据库名称; 

Série MySQL - comment la table est-elle composée?

  • Comment modifier le moteur de stockage

 alter table yunweit1 engine='myisam';
  • Comment spécifier le
    moteur de stockage par défaut pour la création de table ? Le moteur de stockage par défaut pour la création de table mysql est innodb. Si vous devez le modifier, vous pouvez ajouter les champs suivants dans le fichier my.ini:

[mysqld]
default-storage-engine=xxx

Jeu de caractères de composition de table


0 1 Jeu de caractères MySQL couramment utilisé

  • Afficher tous les jeux de caractères pris en charge par MySQL

show charset;

Série MySQL - comment la table est-elle composée?

0 2 Jeux de caractères couramment utilisés


utf8

utf8 est un jeu de caractères dans Mysql, qui ne prend en charge que les caractères UTF-8 jusqu'à trois octets. S'il fait plus de trois octets, une erreur sera signalée.

utf8mb4

uft8mb4 est une extension supplémentaire de utf8, uft8mb4 peut prendre en charge les caractères jusqu'à quatre octets, tels que les caractères emoji

Je suppose que tu aimes

Origine blog.51cto.com/15082392/2656133
conseillé
Classement