Maison > Article > base de données > Quelles sont les différences entre mariadb et mysql ?
Les différences entre mariadb et mysql sont : 1. mysql est un système de gestion de bases de données relationnelles, tandis que MariaDB est une branche de MySQL 2. MariaDB a été développé par le père de MySQL et son objectif est d'être entièrement compatible avec MySQL 3 ; .XtraDB Remplace InnoDB de MySQL, etc.
L'environnement d'exploitation de cet article : système Windows 7, Mysql version 5.7.14, ordinateur Dell G3.
Quelles sont les différences entre mariadb et mysql ?
Une brève discussion sur la différence entre MySQL et MariaDB (comparaison des performances entre mariadb et mysql)
Introduction à mysql :
MySQL est un système de gestion de bases de données relationnelles développé par la société suédoise MySQL AB et est un produit de Oracle. MySQL est l'un des systèmes de gestion de bases de données relationnelles les plus populaires. En termes d'applications WEB, MySQL est l'un des meilleurs logiciels d'application RDBMS (Relational Database Management System).
MySQL est un système de gestion de base de données relationnelle. Une base de données relationnelle stocke les données dans différentes tables au lieu de placer toutes les données dans un seul grand entrepôt, ce qui augmente la vitesse et la flexibilité.
Le langage SQL utilisé par MySQL est le langage standardisé le plus couramment utilisé pour accéder aux bases de données. Le logiciel MySQL adopte une double politique de licence et est divisé en version communautaire et version commerciale. En raison de sa petite taille, de sa vitesse rapide, de son faible coût total de possession et surtout de ses caractéristiques open source, MySQL est généralement choisi comme base de données de site Web pour le site Web. développement de sites Internet de petite et moyenne taille.
Introduction à MariaDB :
Le système de gestion de base de données MariaDB est une branche de MySQL, qui est principalement maintenue par la communauté open source et est sous licence GPL. L'une des raisons du développement de cette branche est qu'après l'acquisition de MySQL par Oracle, il y avait un risque potentiel de fermer MySQL en tant que source, la communauté a donc adopté une approche de branche pour éviter ce risque.
MariaDB vise à être entièrement compatible avec MySQL, y compris l'API et la ligne de commande, ce qui en fait un remplacement facile pour MySQL.
MariaDB a été développé par Michael Widenius, le fondateur de MySQL. Il avait auparavant vendu la société qu'il avait fondée, MySQL, à SUN pour 1 milliard de dollars. Depuis lors, lorsque SUN a été racheté par Oracle, MySQL est également tombé entre les mains. d'Oracle.
Le nom MariaDB vient du nom de la fille de Michael Widenius, Maria (anglais : Maria).
MariaDB jusqu'à la version 5.5 suit la version MySQL. Par conséquent, les personnes utilisant MariaDB 5.5 connaîtront toutes les fonctionnalités de MariaDB à partir de MySQL 5.5. À partir de la version 10.0.0, publiée le 12 novembre 2012, il ne suit plus le numéro de version de MySQL. La version 10.0.x est basée sur la version 5.5, plus des fonctions transplantées de la version 5.6 de MySQL et de nouvelles fonctions développées par nous-mêmes.
En termes de moteur de stockage, XtraDB (nommé Aria) est utilisé pour remplacer InnoDB de MySQL à partir de la version 10.0.9.
L'API et le protocole de MariaDB sont compatibles avec MySQL, et certaines fonctionnalités ont été ajoutées pour prendre en charge les opérations locales non bloquantes et les rapports de progression.
Cela signifie que tous les connecteurs, bibliothèques et applications qui utilisent MySQL fonctionneront également sous MariaDB.
Sur cette base, en raison d'inquiétudes concernant un projet logiciel plus fermé d'Oracle MySQL, Fedora prévoit de remplacer MySQL par MariaDB dans Fedora 19
MYSQL Je pense que tout le monde sait ce que c'est.
Alors, qu'est-ce que mariadb exactement ?
Le système de gestion de base de données MariaDB est une branche de MySQL. Il a été développé par Michael, le père de MySQL. L'une des raisons du développement de cette branche est qu'après l'acquisition de MySQL par Oracle, il y avait un risque potentiel de fermeture de MySQL. Par conséquent, la communauté a adopté une approche de branche pour éviter ce risque
Alors, qui a les meilleures performances entre les deux ? nous faisons maintenant un test simple sur le même ordinateur
Mon environnement d'ordinateur portable est
cpu : I3
Disque dur : disque dur mécanique ordinaire (5400 tr/min)
Mémoire : 8G
Système : win10 64 bits
Version MYSQL : 5.6
Version MariaDB : 10.3
Ce qui suit consiste à créer des bases de données et des tables dans MYSQL et mariaDB et à insérer des dizaines de millions d'ID de données de test en tant que clés primaires. Moteur de base de données : MyISAM
Les instructions de requête sont. le tout sous Navicat Run
1. Interrogez d'abord les 20 éléments de données après 9 millions, ce qui correspond à l'instruction suivante
select * from usertb limit 9000000,20
Le temps de traitement MySQL est de 3,09 secondes
mariaDB. est de 1,89 secondes
2. L'interrogation de 20 éléments de données après 9 millions d'éléments dans l'ordre inverse par ID est la déclaration suivante
select * from usertb order by id desc limit 9000000,20
MYSQL a pris 121,26 secondes
MariaDB a pris 75,73 secondes
3. Enfin, nous modifions une instruction SQL en test. Utilisez l'instruction SQL suivante (une instruction couramment utilisée dans MYSQL pour optimiser la pagination) :
select * from usertb which id<(select id from usertb order by id desc limit 9000000,1) order by id desc limit 20
MYSQL prend 3,13 secondes
MariaDB a pris 70 secondes
Pourquoi ? Je suppose personnellement que la sous-requête de MariaDB n'est pas aussi rapide que celle de MYSQL ? J'ai donc testé à nouveau
Divisez l'instruction ci-dessus en deux instructions SQL et exécutez la requête dans MariaDB comme suit :
sélectionnez l'identifiant de l'ordre usertb par limite d'identifiant desc 9000000,1
Le résultat est que l'ID est 1000000
et puis interrogez select * from usertb which id<1000000 order by id desc limit 20
J'ai trouvé que le temps d'exécution de deux instructions SQL ensemble est également d'environ 3 secondes
Résumé : les deux bases de données ont leurs propres avantages. méthode d'optimisation. Nous sommes novices. Un test qui n'optimise pas ci-dessus est ennuyeux.
Apprentissage recommandé : "tutoriel vidéo 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!