Résumé des connaissances sur la base de données Mysql
Le 8 juin 2017, le temps était nuageux. L'ambiance est claire.
J'ai rêvé deux nuits de suite. Hier soir, j'ai rêvé d'un camarade de lycée que je n'avais pas contacté depuis longtemps. J'ai discuté avec lui en chemin. travailler le matin. La jeune fille est actuellement en voyage d'affaires au Guizhou, un endroit aux paysages magnifiques. J'ai dit : « Vous vivez une vie très prospère maintenant. » La fille a dit : "C'est parce que tu n'as pas vu mon côté non hydratant." En effet, dans la vie, nous montrons toujours notre bon côté aux autres et « déguisons » notre côté opprimé.
Hier, un blogueur m'a posé une question sur le blog et m'a même traité de "grand dieu". J'ai été très paniqué car je savais très bien que j'étais loin de ce "grand". Dieu", j'ai donc dû redoubler d'efforts et avancer vers l'objectif de la "grandeur".
La question posée par le blogueur concerne la base de données Mysql, qui implique le moteur de données et les instructions réparer et optimiser la table de données que j'ai. Je n'y ai jamais pensé auparavant. Problème, jamais utilisé. J'ai donc cherché des informations pour les comprendre, et maintenant je résume les informations que j'ai trouvées comme suit.
1. Moteur de stockage de base de données Mysql
Concept :
Le moteur de stockage est en fait comment stocker les données, comment indexer les données stockées et comment Méthodes de mise à jour, d'interrogation des données et autres implémentations techniques. Les données dans MySQL sont stockées dans des fichiers (ou dans la mémoire) à l'aide d'une variété de technologies différentes, chacune de ces technologies utilise différents mécanismes de stockage, techniques d'indexation, niveaux de verrouillage et fournit finalement un large éventail de fonctionnalités et de capacités différentes. Dans MySQL, ces différentes technologies et fonctions associées sont appelées moteurs de stockage.
(1) Moteur de stockage innoDB
①La table mysql du moteur de stockage innodb offre des capacités de transaction, de restauration et de réparation de crash du système ainsi que la sécurité des transactions du contrôle de concurrence multi-versions.
②innodb prend en charge les colonnes à incrémentation automatique (auto_increment). La valeur d'une colonne à incrémentation automatique ne peut pas être vide si elle est vide lorsqu'elle est utilisée, comment peut-elle croître automatiquement à partir de la valeur existante ? sera supérieur à la valeur actuelle. Si elle est toujours grande, cette valeur sera enregistrée.
③Le moteur de stockage innodb prend en charge les clés étrangères. La table où se trouve la clé étrangère est appelée table enfant (ou table esclave), et la table dont elle dépend est appelée table parent (ou table principale).
④La chose la plus importante à propos du moteur de stockage innodb est qu'il prend en charge les transactions et les fonctions liées aux transactions.
Le moteur de stockage ⑤innodb prend en charge les verrous au niveau des lignes mvcc.
⑥ L'index du moteur de stockage innodb utilise B+Tree.
(2) Moteur de stockage MyISAM
1) MyISAM Ce moteur de stockage ne prend pas en charge les transactions, ne prend pas en charge les verrous au niveau des lignes et ne prend en charge que les verrous de table insérés simultanément. Il est principalement utilisé pour. sélection à charge élevée.
2) La table de type MyISAM prend en charge trois structures de stockage différentes : statique, dynamique et compressée.
①Type statique : signifie que la taille de la colonne du tableau définie est fixe (c'est-à-dire qu'elle ne contient pas de types de données de longueur variable tels que xblob, xtext, varchar, etc. ), afin que mysql l'utilise automatiquement au format myisam statique.
Les performances des tables utilisant des formats statiques sont relativement élevées car la surcharge requise pour stocker les données dans un format prédéterminé lors de la maintenance et de l'accès est très faible. Mais cette haute performance s'obtient en échange d'espace, car elle est fixe lorsqu'elle est définie, donc quelle que soit la taille de la valeur dans la colonne, la valeur maximale prévaudra et occupera tout l'espace.
②Type dynamique : Si la colonne (même s'il n'y a qu'une seule colonne) est définie comme dynamique (xblob, xtext, varchar et autres types de données), alors myisam utilisera automatiquement le type dynamique.
Bien que les tables dynamiques occupent moins d'espace que les tables statiques, elles réduisent les performances car si le contenu d'un champ change, sa position devra probablement être déplacée, ce qui entraînera la génération de fragments. À mesure que les données changent, la fragmentation augmentera et les performances d'accès aux données diminueront en conséquence.
Il existe deux solutions pour réduire l'accessibilité des données en raison de la fragmentation :
a. Utilisez autant que possible des types de données statiques.
b. Utilisez fréquemment l'instruction optimise la table, qui défragmentera la table et récupérera l'espace perdu en raison des mises à jour et des suppressions de la table.
Si le moteur de stockage ne prend pas en charge l'optimisation de la table, vous pouvez vider et recharger les données, ce qui peut également réduire la fragmentation.
③Type compressé : Si une table est créée dans cette base de données qui est en lecture seule pendant tout le cycle de vie, dans ce cas, la table compressée de myisam est utilisée pour réduire l'utilisation de l'espace.
3) MyISAM utilise également l'index B+tree, mais il est légèrement différent d'Innodb dans une implémentation spécifique.
(3) Moteur de stockage MEMORY
①Le moteur de stockage en mémoire est un peu différent de certains moteurs de stockage précédents. Il utilise les données stockées en mémoire pour créer des tables, et toutes les données sont également stockées en mémoire.
②Chaque table basée sur le moteur de stockage mémoire correspond en fait à un fichier disque. Le nom de fichier et le nom de table du fichier sont les mêmes et le type est .frm. Ce fichier stocke uniquement la structure de la table et ses fichiers de données sont stockés en mémoire, ce qui favorise un traitement rapide des données et améliore les capacités de traitement de l'ensemble de la table.
③Le moteur de stockage mémoire utilise l'index de hachage (HASH) par défaut, ce qui est plus rapide que l'utilisation de B+Tree. Si les lecteurs souhaitent utiliser B-tree, ils peuvent le référencer lors de la création.
④Les données des fichiers du moteur de stockage en mémoire sont stockées en mémoire Si une exception se produit dans le processus mysqld, ces données disparaîtront si la machine est redémarrée ou arrêtée. Par conséquent, le cycle de vie des tables dans le moteur de stockage mémoire est très court et n’est généralement utilisé qu’une seule fois.
(4) Moteur de stockage BlackHole (moteur de trou noir)
prend en charge les transactions et prend en charge les verrous au niveau des lignes mvcc. Il est principalement utilisé pour la journalisation ou l'archivage synchronisé, à moins que ce moteur de stockage n'ait un spécial. but, sinon il n'est pas adapté à l'utilisation !
2. Optimiser et réparer les tables sous MySQL
Avec l'utilisation à long terme de mysql, il peut être optimisé en réparant la table. Lors de l'optimisation, l'espace disque occupé est réduit et la sauvegarde est effectuée. facilitée.
REPAIR TABLE `table_name` Réparer la table OPTIMIZE TABLE `table_name` Optimiser la table
REPAIR TABLE - utilisée pour réparer les tables endommagées.
OPTIMIZE TABLE——Optimiser la table, utilisée pour récupérer l'espace inactif de la base de données. Lorsque les lignes de données de la table sont supprimées, l'espace disque occupé n'est pas immédiatement récupéré. Après avoir utilisé la commande OPTIMIZE TABLE, l'espace sera récupéré et les lignes de données sur le disque seront réorganisées.
Remarque : il se trouve sur le disque, pas dans la base de données.
La plupart du temps, il n'est pas nécessaire d'exécuter OPTIMIZE TABLE. Il vous suffit d'effectuer une opération d'optimisation de table de données régulièrement (une fois par semaine ou une fois par mois) après avoir supprimé des lignes de données par lots, et de l'exécuter uniquement. sur ces tables spécifiques.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Apache se connecte à une base de données nécessite les étapes suivantes: Installez le pilote de base de données. Configurez le fichier web.xml pour créer un pool de connexion. Créez une source de données JDBC et spécifiez les paramètres de connexion. Utilisez l'API JDBC pour accéder à la base de données à partir du code Java, y compris l'obtention de connexions, la création d'instructions, les paramètres de liaison, l'exécution de requêtes ou de mises à jour et de traitement des résultats.

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

Le rôle principal de MySQL dans les applications Web est de stocker et de gérer les données. 1.MySQL traite efficacement les informations utilisateur, les catalogues de produits, les enregistrements de transaction et autres données. 2. Grâce à SQL Query, les développeurs peuvent extraire des informations de la base de données pour générer du contenu dynamique. 3.MySQL fonctionne basé sur le modèle client-serveur pour assurer une vitesse de requête acceptable.

La clé de l'installation de MySQL est d'élégance pour ajouter le référentiel MySQL officiel. Les étapes spécifiques sont les suivantes: Téléchargez la clé GPG officielle MySQL pour empêcher les attaques de phishing. Ajouter un fichier de référentiel MySQL: RPM -UVH https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Mise à jour du référentiel Cache: Yum Update Installation Mysql: Yum install install install starting starting mysql Service: SystemCTL start start mysqld starger bugo boartup Service mysql Service: SystemCTL start start mysqld starger bugo bo onthing staring Service mysql Service: SystemCTL Start Start MySQLD Set Out Up Boaching Staring Service MySQL Service: SystemCTL Start Start MysQL

Laravel est un cadre PHP pour la création facile des applications Web. Il fournit une gamme de fonctionnalités puissantes, notamment: Installation: Installez le Laravel CLI globalement avec Composer et créez des applications dans le répertoire du projet. Routage: définissez la relation entre l'URL et le gestionnaire dans Routes / web.php. Voir: Créez une vue dans les ressources / vues pour rendre l'interface de l'application. Intégration de la base de données: fournit une intégration prête à l'emploi avec des bases de données telles que MySQL et utilise la migration pour créer et modifier des tables. Modèle et contrôleur: le modèle représente l'entité de la base de données et le contrôleur traite les demandes HTTP.
