Une note aux futurs lecteurs: Le texte ci-dessous a été modifié pour la dernière fois en août 2008. C'est il y a près de 11 ans à compter de cette édition. Le logiciel peut changer rapidement d'une version à l'autre, donc avant de choisir un SGBD en vous basant sur les conseils ci-dessous, faites des recherches pour voir s'il est toujours exact. Vérifiez les nouvelles réponses ci-dessous.
Mieux?
MySQL est beaucoup plus communément fourni par les hébergeurs Web.
PostgreSQL est un produit beaucoup plus mature.
Il y a cette discussion sur votre "meilleure" question
Apparemment, selon cette page Web , MySQL est rapide lorsque les niveaux d'accès simultanés sont faibles et lorsqu'il y a beaucoup plus de lectures que d'écritures. D'autre part, il présente une faible évolutivité avec des charges et des rapports d'écriture / lecture croissants. PostgreSQL est relativement lent à de faibles niveaux de concurrence, mais évolue bien avec des niveaux de charge croissants, tout en offrant une isolation suffisante entre les accès simultanés pour éviter les ralentissements à des taux d'écriture / lecture élevés. Il poursuit en lien avec un certain nombre de comparaisons de performances, car ces éléments sont très ... sensibles aux conditions.
Donc, si votre facteur de décision est " ce qui est le plus rapide? ", La réponse est "cela dépend. Si cela compte vraiment, testez votre application contre les deux. " dans chaque base de données) et demandez-leur de régler la merde hors des bases de données, puis choisissez. Il est étonnant de voir à quel point les bons DBA sont chers ; et ils valent chaque centime .
Quand ça compte.
Ce qui n'est probablement pas le cas, alors choisissez simplement la base de données dont vous aimez le son et allez-y; de meilleures performances peuvent être achetées avec plus de RAM et de CPU, et une conception de base de données plus appropriée, et des astuces de procédures stockées intelligentes, etc. et le réglage spécialisé à partir de DBA coûteux.
Joel a également déclaré dans ce podcast que ce commentaire reviendrait pour le mordre parce que les gens diraient que MySQL était une merde - Joel ne pouvait pas récupérer plusieurs
count
lignes. Le pluriel de anecdote n'est pas une donnée.
Il a dit :
MySQL est la seule base de données sur laquelle j'ai jamais programmé dans ma carrière qui a eu des problèmes d'intégrité des données, où vous faites des requêtes et vous obtenez des réponses absurdes, qui sont incorrectes.
et il a également dit:
C'est juste une anecdote. Et c'est l'une des choses qui me frustre, en fait, à propos des blogs ou simplement d'Internet en général. [...] Il y a juste une étrange tendance à faire des anecdotes des vérités et en fait, en tant que blogueur, je commence à me sentir un peu coupable à ce sujet
Juste sonner plusieurs mois plus tard.
Les capacités géographiques des deux bases de données sont très, très différentes. PostgreSQL dispose de l'exceptionnelle extension PostGIS. La fonctionnalité géographique de MySQL est pratiquement nulle en comparaison.
Si votre service Web a un composant de localisation, choisissez PostgreSQL.
la source
Je n'ai pas utilisé Django, mais j'ai utilisé à la fois MySQL et PostgreSQL. Si vous n'utilisez votre base de données que comme backend pour Django, cela n'a pas beaucoup d'importance, car cela résoudra la plupart des différences. PostgreSQL est un peu plus évolutif car il n'atteint pas le mur de briques aussi rapidement que MySQL à mesure que la taille des données / le nombre de clients augmentent.
La vraie différence vient si vous faites un nouveau système. Ensuite, je recommanderais PostgreSQL haut la main, car il a beaucoup plus de fonctionnalités qui rendent votre couche de base de données beaucoup plus personnalisable, afin que vous puissiez l'ajuster à toutes les exigences que vous pourriez avoir.
la source
Bien que ce soit un peu dépassé, il vaudrait la peine de lire la page MySQL Gotchas . Bon nombre des éléments qui y sont énumérés sont toujours vrais, à ma connaissance.
J'utilise PostgreSQL.
la source
J'utilise les deux intensivement. Mon choix pour un projet particulier se résume à:
Par sauce spéciale, j'entends des choses comme:
la source
Eh bien, je ne pense pas que vous devriez utiliser une marque de base de données différente dans quoi que ce soit du développement antérieur (build, staging, prod) car cela reviendra vous mordre.
D'après ce que je comprends, PostgreSQL est une implémentation de base de données plus «correcte» tandis que mySQl est moins correcte (moins conforme) mais plus rapide.
Donc, si vous écrivez à peu près une application CRUD, mySQL est la voie à suivre. Si vous avez besoin de certaines fonctionnalités de votre base de données (si vous n'êtes pas sûr, alors vous ne le faites pas), vous voudrez peut-être vous pencher sur postgreSQL.
la source
Si vous écrivez une application qui peut être distribuée un peu sur différents serveurs, MySQL a beaucoup de poids sur PostgreSQL en raison de la portabilité. PostgreSQL est difficile à trouver sur des hébergeurs moins que satisfaisants, bien qu'il y en ait quelques-uns. Dans la plupart des cas, PostgreSQL est plus lent que MySQL, surtout quand il s'agit de peaufiner à la fin. Dans l'ensemble, je dirais de donner une chance à PostgreSQL pendant un court laps de temps, de cette façon vous ne l'évitez pas complètement, puis de porter un jugement.
la source
Je vous remercie. J'ai utilisé Django avec MySQL et c'est très bien. Choisissez votre base de données sur les fonctionnalités dont vous avez besoin. Difficile de comparer MySQL et Postgres. Mieux vaut comparer Postgress à SQl Server.
la source
@WolfmanDragon
PostgreSQL a un (petit) support pour les objets, mais c'est, par nature, une base de données relationnelle. Depuis sa page à propos :
la source
MySQL est un système de gestion de base de données relationnelle tandis que PostgreSQL est un objet système de gestion de base de données -relational . PostgreSQL convient bien aux développeurs C ++ ou Java, car il nous donne plus de contrôle sur la façon dont les requêtes sont écrites. ORDBMS nous donne également des objets et des types définis par l'utilisateur. Les requêtes SQL elles-mêmes sont beaucoup plus proches des normes ISO que MySQL.
Avez-vous besoin d'un ORDBMS ou d'un SGBDR? Cela répondra mieux à votre question.
la source