MySQL vs PostgreSQL

Introduction

MySQL est très populaire (probablement plus plus connu). Cela est du à sa facilité d’utilisation et sa vitesse. PostgreSQL apparait comme une version gratuite d’Oracle : il est plus complet que MySQL, et est tout autant gratuit.
MySQL se concentre plus sur la rapidité d’exécution, tant dis que PostgreSQL tente d’appliquer les standards à la lettre.
Popularité et outils

La popularité de MySQL provient également du fait qu’il soit multi-plateforme depuis le début, aalors que PostgreSQL n’est installable sous Windows que depuis sa version 8.0. Sans oublier que ce dernier ne possède pas énormément d’outils. PgAdmin 3 en est le plus connu et quasi le seul. MySQL propose “MySQL Administrator” et “MySQL Query Browser” et PhpMyAdmin en interface web (très pratique et utilisée).

Fonctionnalités

Bien que PostGreSQL soit plus avancé technologiquement que MySQL, il a une lacune en vitesse sur les faibles volumes de données. Ainsi MySQL, par le fait qu’il ne gère pas l’intégrité référentielle par exemple, se révèle plus rapide que PostGreSQL puisqu’il ne doit pas faire les tests d’intégrité (qui permettent de vérifier qu’une base de données est cohérente pour rappel).

MySQL (plus jeune que PostgreSQL) comporte de nombreux outils et supporte de plus en plus d’aspect du langage SQL (triggers, procédures, moteurs d’indexation, …). Cependant, PostgrSQL reste le leader : il gère en plus les règles, les types utilisateur, les tableaux, des langages procéduraux tels que PHP, Python, Java et bien d’autres. Ainsi sur 164 points requis pour avoir une conformité complète du “coeur” du standard SQL, PostGreSQL en respecte plus de 150, et pas des moindres !

PostGreSQL par contre peut gérer les très gros volumes de données. Des bases de 13 teras (~ 13 000 gigas !) existent et tournent parfaitement sous PostGreSQL. Son optimiseur fait des merveilles à partir du moment où il y a suffisamment de données pour qu’il soit efficace.

 

En conclusion, il faut utiliser l’outil adéquat pour chaque projet :

– MySQL pour les petites bases de données avec un nombre faible d’accès.

– PostGreSQL pour les bases de données plus grosses (inutile et idiot d’utiliser PostGreSQL pour un site qui affiche un livre d’or et une galerie de photos…).