


Comment utiliser MTR pour effectuer une évaluation des performances du moteur de stockage MySQL
Comment utiliser MTR pour effectuer une évaluation des performances du moteur de stockage MySQL
Introduction :
MySQL est un système de gestion de base de données relationnelle courant qui fournit une variété de moteurs de stockage, tels que InnoDB, MyISAM, etc. Afin d'évaluer les performances des différents moteurs de stockage, MySQL fournit l'outil MTR (MySQL Test Run). Cet article explique comment utiliser MTR pour l'évaluation des performances et fournit des exemples de code.
1. Comprendre l'outil MTR
MTR est un outil de test MySQL, utilisé à l'origine dans la suite de tests MySQL. Il possède des fonctions telles que l'exécution automatique de scripts de test et de frameworks de test, et permet aux utilisateurs d'écrire des scripts de test personnalisés. MTR peut simuler les charges de travail réelles des bases de données et fournir des mesures de performances détaillées.
2. Installez l'outil MTR
Tout d'abord, nous devons installer l'outil MTR. MTR peut être téléchargé depuis le site officiel de MySQL.
3. Créez des cas de test
- Créez un script d'évaluation des performances du moteur de stockage
Créez un nouveau répertoire sous le répertoire de la suite de tests MySQL et nommez-le "engine_perf". Créez un nouveau script de test MTR dans ce répertoire et nommez-le "engine_perf.test".
Modifiez le fichier de script et écrivez l'exemple de script de test comme suit :
---engine_perf.test---
Description du cas de test
--source include/have_innodb.inc # Présentez le moteur de stockage InnoDB
-- source include/ have_myisam.inc # Présenter le moteur de stockage MyISAM
--disable_query_log # Désactiver le journal des requêtes MTR
Test du moteur de stockage InnoDB
--echo #
--echo # Test du moteur de stockage InnoDB
--echo #
- -disable_query_log # Désactiver le journal des requêtes MTR
Créer une table InnoDB
CREATE TABLE innodb_table
(innodb_table
(
id
int(11) not null,
name
varchar(100) not null,
primary key (id
)
) engine=InnoDB;
--let $start_time=SELECT UNIX_TIMESTAMP(); # 记录开始时间
向InnoDB表插入10000条数据
SET @i = 1;
WHILE @i <= 10000 DO
INSERT INTO innodb_table (id, name) VALUES (@i, CONCAT('Name', @i));
SET @i = @i + 1;
END WHILE;
--let $end_time=SELECT UNIX_TIMESTAMP(); # 记录结束时间
--enable_query_log # 启用MTR的查询日志
输出性能指标
--echo InnoDB存储引擎测试结果:
--eval SELECT $end_time-$start_time as execution_time;
--disable_query_log # 禁用MTR的查询日志
MyISAM存储引擎测试
--echo #
--echo # MyISAM存储引擎测试
--echo #
--disable_query_log # 禁用MTR的查询日志
创建MyISAM表
CREATE TABLE myisam_table
(
id
int(11) not null,
name
varchar(100) not null,
primary key (id
id
int(11) non nul,
nom
varchar (100) non nul,
id
)) engine=InnoDB;
--let $start_time=SELECT UNIX_TIMESTAMP(); # Enregistrer l'heure de début
Insérer 10 000 entrées dans le Données de la table InnoDB
SET @i = 1;
WHILE @i <= 10000 DO
INSERT INTO innodb_table (id, name) VALUES (@i, CONCAT('Name', @i));
END WHILE;
--let $end_time=SELECT UNIX_TIMESTAMP(); # Enregistrer l'heure de fin
--enable_query_log # Activer le journal des requêtes MTR
Indicateurs de performances de sortie
--eval SELECT $end_time-$start_time as exécution_time;
--disable_query_log # Désactiver le journal des requêtes MTR
Test du moteur de stockage MyISAM
- --echo #
- --echo # Test du moteur de stockage MyISAM --echo #
- --disable_query_log # Désactiver le journal des requêtes MTR
Créer une table MyISAM
CREATE TABLE myisam_table
(
id
int(11) non nul, nom
varchar(100) non nul,
id
)) engine=MyISAM;
🎜--let $start_time=SELECT UNIX_TIMESTAMP(); # Enregistrer l'heure de début🎜🎜 Insérer 10000 éléments de données dans la table MyISAM🎜🎜SET @i = 1;🎜WHILE @i <= 10000 DO🎜 INSERT INTO myisam_table (id, name) VALUES (@i, CONCAT('Name', @i)); 🎜 SET @i = @i + 1;🎜END WHILE;🎜🎜--let $end_time=SELECT UNIX_TIMESTAMP(); # Enregistrer l'heure de fin🎜🎜--enable_query_log # Activer le journal des requêtes MTR🎜🎜Indicateurs de performances de sortie🎜🎜-- echo Résultats du test du moteur de stockage MyISAM :🎜--eval SELECT $end_time-$start_time as exécution_time;🎜🎜--disable_query_log # Désactiver le journal des requêtes MTR🎜🎜Ce qui précède est un script de test de base. Il évalue les performances de différents moteurs de stockage en créant deux tables, InnoDB et MyISAM, et en insérant 10 000 éléments de données dans les tables. Une fois chaque test du moteur de stockage terminé, le temps d'exécution sera affiché. 🎜🎜4. Exécutez le test 🎜🎜🎜Entrez le répertoire de la suite de tests MySQL dans le terminal. 🎜🎜Exécutez le script de test MTR. 🎜🎜./mtr engine_perf🎜MTR exécutera le script de test et produira des indicateurs de performance. 🎜🎜L'exemple de code n'est qu'un script de test de base que vous pouvez modifier et étendre en fonction de vos besoins réels. En écrivant des scripts de test plus complexes, vous pouvez effectuer une évaluation plus complète et détaillée des performances du moteur de stockage de MySQL. 🎜🎜Conclusion : 🎜🎜Cet article décrit comment utiliser MTR pour effectuer une évaluation des performances du moteur de stockage MySQL et fournit un exemple de script de test de base. En utilisant les outils MTR, nous pouvons simuler les charges de travail réelles des bases de données et obtenir des indicateurs de performances détaillés pour évaluer les performances des différents moteurs de stockage. J'espère que cet article vous aidera à comprendre l'outil MTR et à évaluer les performances du moteur de stockage MySQL. 🎜
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

Undress AI Tool
Images de déshabillage gratuites

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.

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)

Pour afficher toutes les bases de données dans MySQL, vous devez utiliser la commande showDatabases; 1. Après être connecté au serveur MySQL, vous pouvez exécuter les showDatabases; Commande pour répertorier toutes les bases de données auxquelles l'utilisateur actuel a la permission d'accéder; 2. 3. Vous pouvez également interroger et filtrer la base de données via selectSchema_namefrominformation_schema.schemata; Par exemple, l'exclusion de la base de données système pour afficher uniquement la base de données créée par les utilisateurs; Assurez-vous d'utiliser

Pour ajouter une clé primaire à une table existante, utilisez l'instruction altertable avec la clause AddPrimaryKey. 1. Assurez-vous que la colonne cible n'a pas de valeur nulle, pas de duplication et est définie comme notnull; 2. La syntaxe de clé primaire à colonne unique est le nom de table altertable addPrimaryKey (nom de colonne); 3. La syntaxe de la clé primaire de combinaison multi-colonnes est le nom de table altertable addPrimaryKey (colonne 1, colonne 2); 4. Si la colonne permet Null, vous devez d'abord exécuter Modify pour définir Notnull; 5. Chaque tableau ne peut avoir qu'une seule clé primaire et l'ancienne clé primaire doit être supprimée avant d'ajouter; 6. Si vous avez besoin de l'augmenter vous-même, vous pouvez utiliser Modify pour définir Auto_Increment. Assurer les données avant le fonctionnement

Vérifiez si le service MySQL est en cours d'exécution, utilisez SudosystemctlStatusMysQL pour confirmer et démarrer; 2. Assurez-vous que Bind-Address est défini sur 0,0.0.0 pour permettre les connexions distantes et redémarrer le service; 3. Vérifiez si le port 3306 est ouvert, vérifiez et configurez les règles de pare-feu pour permettre le port; 4. Pour l'erreur "AccessEnedy", vous devez vérifier le nom d'utilisateur, le mot de passe et le nom d'hôte, puis vous connecter à MySQL et interroger la table MySQL.User pour confirmer les autorisations. Si nécessaire, créez ou mettez à jour l'utilisateur et autorisez-le, comme l'utilisation de «votre_user» @ «%»; 5. Si l'authentification est perdue à cause de Caching_Sha2_Password

L'utilisation de MySQLDump est le moyen le plus courant et le plus efficace de sauvegarder les bases de données MySQL. Il peut générer des scripts SQL contenant la structure et les données de la table. 1. La syntaxe de base est: mysqldump-u [nom d'utilisateur] -p [nom de base de données]> backup_file.sql. Après l'exécution, entrez le mot de passe pour générer un fichier de sauvegarde. 2. Sauvegardez plusieurs bases de données avec - Databases Databases: MySQLDump-Uroot-P --Databasesdb1db2> multiple_dbs_backup.sql. 3. Sauvegarder toutes les bases de données avec - toutes les données: MySqlDump-Uroot-P

B-TreeIndexesAreBestFormostPhpapplications, AstheySupportequality andRangequeries, Tri, andareIdEalforColumnSuseInwhere, Join, OrorderByClauses; 2.Full-TextIndexessHouldFornaturAralLanguageorBooleanSearSonTextFieldslikeArlesorProductDescriptiiReScriptidScriptidiansearchesEnTextFieldslikeArlesorProductDescripti

UnionRemoveS aduplicate WhiceUnionAllkeepSallRowscludedingDuplications; 1. UnionPerformsDeduplication gysortingand comparingrows, retournantonylyuqueRereSults, qui fait que la doseur de solutionnaliques;

Vous pouvez personnaliser le séparateur en utilisant le mot-clé séparateur dans la fonction group_concat (); 1. Utilisez le séparateur pour spécifier un séparateur personnalisé, comme le séparateur '; «Le séparateur peut être changé pour un semi-colon et plus d'espace; 2. Les exemples courants incluent l'utilisation du caractère de tuyau '|', de l'espace '', du caractère de rupture de ligne '\ n' ou de la chaîne personnalisée '->' comme séparateur; 3. Notez que le séparateur doit être une chaîne littérale ou expression, et la longueur du résultat est limitée par la variable Group_Concat_Max_Len, qui peut être ajustée par setSessionGroup_Concat_Max_Len = 10000; 4. Le séparateur est facultatif

TheinOperatorInmysqlCheckSifavAlueMatcheSanyInaspeCifiedList, simplifier les éléments detins;
