当前位置:网站首页>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 .
边栏推荐
- Google login prompt error code 12501
- 百度百科数据爬取及内容分类识别
- 17 medical registration system_ [wechat Payment]
- MNIST implementation using pytoch in jupyter notebook
- Typescript入门教程(B站黑马程序员)
- CDC: the outbreak of Listeria monocytogenes in the United States is related to ice cream products
- 高并发系统的限流方案研究,其实限流实现也不复杂
- 基于Pytorch肺部感染识别案例(采用ResNet网络结构)
- MySQL34-其他数据库日志
- MySQL combat optimization expert 09 production experience: how to deploy a monitoring system for a database in a production environment?
猜你喜欢
Introduction tutorial of typescript (dark horse programmer of station B)
Unicode decodeerror: 'UTF-8' codec can't decode byte 0xd0 in position 0 successfully resolved
Super detailed steps to implement Wechat public number H5 Message push
Adaptive Bezier curve network for real-time end-to-end text recognition
Record the first JDBC
【C语言】深度剖析数据存储的底层原理
15 medical registration system_ [appointment registration]
Mysql33 multi version concurrency control
Pytorch LSTM实现流程(可视化版本)
What is the current situation of the game industry in the Internet world?
随机推荐
17 medical registration system_ [wechat Payment]
MySQL实战优化高手08 生产经验:在数据库的压测过程中,如何360度无死角观察机器性能?
UEditor国际化配置,支持中英文切换
Adaptive Bezier curve network for real-time end-to-end text recognition
[programmers' English growth path] English learning serial one (verb general tense)
基于Pytorch肺部感染识别案例(采用ResNet网络结构)
[Julia] exit notes - Serial
MySQL31-MySQL事务日志
What is the current situation of the game industry in the Internet world?
使用OVF Tool工具从Esxi 6.7中导出虚拟机
MySQL27-索引優化與查詢優化
14 医疗挂号系统_【阿里云OSS、用户认证与就诊人】
The governor of New Jersey signed seven bills to improve gun safety
【C语言】深度剖析数据存储的底层原理
Advantages and disadvantages of evaluation methods
Implement sending post request with form data parameter
Solve the problem of remote connection to MySQL under Linux in Windows
Pytoch LSTM implementation process (visual version)
如何让shell脚本变成可执行文件
Preliminary introduction to C miscellaneous lecture document