当前位置:网站首页>Moteur de stockage mysql23
Moteur de stockage mysql23
2022-07-06 10:33:00 【Protégez - nous, Yao.】
Un.. Voir le moteur de stockage
- VoirmysqlQuels moteurs de stockage sont disponibles:
show engines;
show engines \G;
2.. Définir le moteur de stockage par défaut du système
- Voir le moteur de stockage par défaut:
show variables like '%storage_engine%';
#Ou
SELECT @@default_storage_engine;
- Modifier le moteur de stockage par défaut
Si le moteur de stockage de la table n'est pas explicitement spécifié dans l'instruction créer la table , Il sera utilisé par défaut InnoDB Moteur de stockage comme table. Si nous voulons changer le moteur de stockage par défaut pour les tables , Vous pouvez écrire la ligne de commande pour démarrer le serveur .
SET DEFAULT_STORAGE_ENGINE=MyISAM;
Ou modifier my.cnf Documentation:
default-storage-engine=MyISAM
# Redémarrer le Service
systemctl restart mysqld.service
Trois. Définir le moteur de stockage de la table
Le moteur de stockage est responsable de l'extraction et de l'écriture des données dans les tableaux ,On peut faire ça pour Différents paramètres de table différents moteurs de stockage ,Cela signifie que différentes tables peuvent avoir des structures de stockage physiques différentes,Différentes méthodes d'extraction et d'écriture.
3.1. Spécifiez le moteur de stockage lors de la création de la table
Aucune de nos déclarations précédentes qui ont créé la table n'a spécifié le moteur de stockage de la table , Le moteur de stockage par défaut sera utilisé InnoDB . Si nous voulons spécifier explicitement le moteur de stockage de la table , Ça pourrait être écrit :
CREATE TABLE Nom du tableau(
Déclaration de création de table;
) ENGINE = Nom du moteur de stockage;
3.2. Modifier le moteur de stockage de la table
Si la table a été construite , Nous pouvons également utiliser cette instruction ci - dessous pour modifier le moteur de stockage de la table :
ALTER TABLE Nom du tableau ENGINE = Nom du moteur de stockage;
create table engine_demo_table(
c1 int primary key,
c2 varchar(25));
show create table engine_demo_table;
alter table engin_demo_table engine=MYISAM;
show create table engine_demo_table;
Quatre. Introduction au moteur
4.1. InnoDB Moteur:Moteur de stockage des transactions avec prise en charge des clés étrangères
- MySQLDe3.23.34a Commencez par inclure InnoDBMoteur de stockage. Supérieur ou égal à5.5Après,Par défautInnoDBMoteur .
- InnoDB- Oui.MySQLDe Moteur transactionnel par défaut ,Il est conçu pour faire face à une grande quantité de court terme(short-lived)Services. Pour s'assurer que la transaction est entièrement engagée (Commit)Et rollback(Rollback).
- En plus des ajouts et des requêtes,Des mises à jour sont également nécessaires、Supprimer l'action,Alors,Priorité à choisirInnoDBMoteur de stockage.
- .À moins qu'il n'y ait une raison très particulière d'utiliser un autre moteur de stockage,Sinon, la priorité devrait être accordée àInnoDBMoteur.
- Structure du fichier de données:
- Nom du tableau.frm Structure de la table de stockage(MySQL8.0Heure,Fusionner dans le nom de la table.ibdMoyenne).
- Nom du tableau.ibd Stockage des données et des index.
- InnoDB- Oui. Conçu pour une performance maximale avec une grande quantité de données .
- Dans les versions précédentes,Données du dictionnaire dans un fichier de métadonnées、Tableaux non transactionnels, etc. pour le stockage.Ces fichiers de métadonnées ont été supprimés.Par exemple,: .frm , .par , .trn , .isl , .db.opt Tout le monde attendMySQL8.0Il n'existe plus.
- ComparerMyISAMMoteur de stockage pour, InnoDBL'efficacité du traitement de l'écriture est plus faible ,Et prend plus d'espace disque pour enregistrer les données et les index.
- MyISAMIndex de cache seulement,Ne pas mettre en cache les données réelles;InnoDBMettre en cache non seulement les index, mais aussi les données réelles, Exigences élevées en matière de mémoire ,Et la taille de la mémoire a un impact décisif sur les performances.
4.2. MyISAM Moteur:Principaux moteurs de stockage non transactionnels
- MyISAMOffre un grand nombre de fonctionnalités,Inclure l'index plein texte、Compression、Fonctions spatiales(GIS)Attendez.,Mais...MyISAM Transaction non prise en charge、Verrouillage des rangées、Clé étrangère , Il y a un défaut indiscutable Impossible de récupérer en toute sécurité après un crash .
- 5.5Moteur de stockage par défaut précédent.
- Les avantages sont accessibles Vite! ,Aucune exigence d'intégrité transactionnelle ouSELECT、INSERTApplication principale.
- Il existe un stockage constant supplémentaire pour les statistiques de données.Donc count(*) Très efficace dans la recherche de.
- Structure du fichier de données:
- Nom du tableau.frm Structure de la table de stockage.
- Nom du tableau.MYD Stockage des données (MYData).
- Nom du tableau.MYI Index de stockage (MYIndex).
- Scénario d'application:Applications en lecture seule ou entreprises axées sur la lecture.
4.3. Archive Moteur:Pour l'archivage des données
- Le tableau suivant montreARCHIVE Fonctions du moteur de stockage
Caractéristiques | Soutien |
---|---|
BIndex des arbres | Non pris en charge |
Sauvegarde/Récupération ponctuelle ( Implémenter sur le serveur ,Pas dans un moteur de stockage) | Soutien |
Prise en charge des bases de données groupées | Non pris en charge |
Index groupé | Non pris en charge |
Données compressées | Soutien |
Cache de données | Non pris en charge |
Chiffrer les données( La fonction de chiffrement est implémentée dans le serveur ) | Soutien |
Prise en charge des clés étrangères | Non pris en charge |
Index de recherche en texte intégral | Non pris en charge |
Prise en charge des types de données géospatiales | Soutien |
Prise en charge des index géospatiaux | Non pris en charge |
Index de hachage | Non pris en charge |
Cache d'index | Non pris en charge |
Granulométrie de verrouillage | Verrouillage des rangées |
MVCC | Non pris en charge |
Limites de stockage | Il n'y a pas de limite |
Commerce | Non pris en charge |
Mise à jour des statistiques du dictionnaire de données | Soutien |
4.4. Blackhole Moteur:Jeter l'écriture,L'opération de lecture renvoie un contenu vide
4.5. CSV Moteur:Lors du stockage des données,Séparer les éléments de données par des virgules
Les cas d'utilisation sont les suivants
create table testcsv (
i int not null,
c char(10) not null) engine=CSV;
INSERT INTO testcsv VALUES(1,'record one'),(2,'record two');
select * from testcsv;
cd /var/lib/mysql
cd MYSQLTEST/
4.6. Memory Moteur:Table en mémoire
Généralités:
Memory Le support logique utilisé est Mémoire , Réponse rapide ,Mais quandmysqld Quand le démon s'écrase Les données seront perdues .En plus, Les données devant être stockées sont dans un format dont la longueur des données est constante ,Par exemple,,BlobEtText Données de type non disponibles ( Longueur non fixée ).
Principales caractéristiques:
- MemoryEn même temps Prise en charge du hachage(HASH)Index Et B+Index des arbres .
- MemoryLe tableau est au moins plusMyISAM Table Un ordre de grandeur. .
- MEMORY La taille du tableau est limitée De. La taille du tableau dépend principalement de deux paramètres ,Respectivement. max_rows Etmax_heap_table_size .Parmi eux,max_rowsVous pouvez spécifier;max_heap_table_sizeLa taille par défaut est16MB, Peut être agrandi au besoin .
- Les fichiers de données sont stockés séparément des fichiers index .
- Inconvénients: Ses données sont facilement perdues ,Cycle de vie court. Sur la base de ce défaut ,SélectionnerMEMORY Attention particulière lors du stockage du moteur .
UtiliserMemory Scénario du moteur de stockage : - Les données cibles sont relativement petites ,Et très Accès fréquent ,Stocker les données en mémoire, Si trop de données peuvent causer Débordement de mémoire .Vous pouvez passer par les paramètres max_heap_table_size ContrôleMemoryTaille du tableau,RestrictionsMemory Taille maximale du tableau .
- Si Les données sont provisoires ,Et Doit être disponible immédiatement Je l'ai., Alors on peut le mettre en mémoire .
- Stocké dansMemory Les données du tableau si soudainement Ça n'a pas beaucoup d'importance de perdre .
4.7. Federated Moteur:Accès aux tables distantes
FederatedLe moteur est d'accéder à d'autresMySQLUn serveur Agents , Bien que le moteur semble offrir un bon Flexibilité entre serveurs ,Mais ça pose souvent des problèmes,Donc, La valeur par défaut est désactivée .
4.8. MergeMoteur:Gérer plusieursMyISAMEnsemble de tableaux composés de tableaux
4.9.NDBMoteur:MySQLMoteur de stockage dédié au cluster
Aussi appelé NDB Cluster Moteur de stockage,Principalement utilisé pour MySQL Cluster Grappe distribuée Environnement,Similaire à Oracle De RAC Cluster.
4.10. Comparaison des moteurs
MySQLMême base de données, Différentes tables peuvent choisir différents moteurs de stockage . Le tableau suivant compare les moteurs de stockage communs .
边栏推荐
- 17 medical registration system_ [wechat Payment]
- Redis集群方案应该怎么做?都有哪些方案?
- Anaconda3 installation CV2
- Not registered via @EnableConfigurationProperties, marked(@ConfigurationProperties的使用)
- pytorch的Dataset的使用
- Mysql27 - Optimisation des index et des requêtes
- MySQL实战优化高手07 生产经验:如何对生产环境中的数据库进行360度无死角压测?
- Solve the problem of remote connection to MySQL under Linux in Windows
- South China Technology stack cnn+bilstm+attention
- What should the redis cluster solution do? What are the plans?
猜你喜欢
Redis集群方案应该怎么做?都有哪些方案?
Case identification based on pytoch pulmonary infection (using RESNET network structure)
【C语言】深度剖析数据存储的底层原理
15 medical registration system_ [appointment registration]
Docker MySQL solves time zone problems
Mysql36 database backup and recovery
15 医疗挂号系统_【预约挂号】
解决在window中远程连接Linux下的MySQL
使用OVF Tool工具从Esxi 6.7中导出虚拟机
如何让shell脚本变成可执行文件
随机推荐
MySQL28-数据库的设计规范
C miscellaneous shallow copy and deep copy
高并发系统的限流方案研究,其实限流实现也不复杂
Good blog good material record link
MySQL34-其他数据库日志
The governor of New Jersey signed seven bills to improve gun safety
Baidu Encyclopedia data crawling and content classification and recognition
Mysql36 database backup and recovery
再有人问你数据库缓存一致性的问题,直接把这篇文章发给他
软件测试工程师必备之软技能:结构化思维
Pytoch LSTM implementation process (visual version)
MySQL实战优化高手11 从数据的增删改开始讲起,回顾一下Buffer Pool在数据库里的地位
MySQL real battle optimization expert 11 starts with the addition, deletion and modification of data. Review the status of buffer pool in the database
MySQL23-存储引擎
软件测试工程师必备之软技能:结构化思维
Security design verification of API interface: ticket, signature, timestamp
Software test engineer development planning route
Mysql35 master slave replication
评估方法的优缺点
MySQL24-索引的数据结构