Je sais que la question semble provocatrice, mais ce n'est vraiment pas le cas. Je trouve récemment MySQL limitant dans beaucoup de domaines et j'aime de plus en plus PostgreSQL. Il évolue beaucoup mieux et respecte beaucoup plus les standards SQL que MySQL.
Je suis encore nouveau dans le monde PostgreSQL et comme je suis prêt à m'éloigner de MySQL pour tous mes futurs projets, ce que je veux savoir, c'est: y a-t-il une caractéristique particulière de MySQL qui le fait mieux (comme dans plus performant ou plus convivial, etc.) que dans PostgreSQL?
Je me demande ce que je vais manquer de MySQL. J'ai déjà trouvé que les champs AUTO_INCREMENT dans MySQL sont plus pratiques que SEQUENCES dans PostgreSQL et le déploiement dans Windows était problématique dans le passé (plus de problème. Plus de problème pour moi).
Quoi d'autre?
la source
Réponses:
Vous abordez clairement cela du point de vue du développeur, vous pouvez donc trouver des réponses plus utiles chez SO.
D'un point de vue administratif:
- Réplication (HA)
- Réplication (mise à l'échelle *)
- Réplication (sauvegardes)
- Support d'application
- Taille et profondeur de la communauté (Documentation, Support)
- Base d'installation existante / jobs disponibles
* Notez que vous avez
postgres
mieux mentionné la mise à l'échelle. la mise à l'échelle signifie quelque chose de différent pour tout le monde, mais en règle générale, les choses qui ont un moyen de répartir la charge sur plusieurs serveurs évoluent mieux que les autres.la source
COUNT (*) est également beaucoup plus lent avec PSQL. Vous êtes censé créer des déclencheurs pour ce type de fonctionnalité.
la source
Parce que Postgres effectue effectivement une copie sur écriture pour chaque mise à jour (afin qu'il puisse traiter les transactions), si vous n'avez pas besoin de transactions et que vous effectuez beaucoup d'écritures par rapport aux lectures, MySQL n'aura pas la surcharge que PostgreS volonté. (chaque enregistrement mis à jour doit en écrire davantage, mettre à jour les index, etc.)
la source
Je peux penser à une chose qui manque à PostgreSQL:
Je pense qu'il y avait aussi quelque chose avec le blocage, l'insertion ou la mise à jour. Mais je n'arrive pas à me souvenir de ce que c'était réellement. : S
la source
Le champ auto_increment étant 'maniable' n'est pas très pertinent n'est-ce pas? Oracle a des séquences et est sans aucun doute la base de données commerciale la plus utilisée au monde.
C'est une énorme quantité d'informations à trouver sur la façon dont PostgreSQL est plus sûr et ainsi de suite. Je vais juste vous diriger vers cette page sur le wiki PostgreSQL (sans doute une opinion colorée, mais c'est ce que vous cherchez de toute façon).
Beaucoup de gens mentionnent sur cette page que MySQL est plus convivial pour les débutants. Donc? Expliquez-moi en quoi cela est important dans un environnement critique pour la mission.
la source
MySQL est souvent appelé grep SQL . Quant à moi (maintenant au moment de l'écriture), il ressemble à peu près à PHP - assez maladroit, mais populaire.
Essayez de renommer une base de données pour le tout début. ;) Ajoutez ensuite des indices conditionnels (manquants).
PS Je peux pointer au moins une bonne fonctionnalité incontestable de MySQL - il prend en charge plutôt des types de données économes en espace aussi petits que l'octet (non signé) par exemple. Cela pourrait économiser beaucoup de RAM et d'espace disque lorsqu'il est utilisé en conséquence. Mais il y a plutôt quelques goodies à mentionner en plus, hélas. Et la comparaison sur le lien qui vous a été donné est vraiment chouette.
la source
auto_increment est pratique jusqu'à ce que vous réalisiez qu'ils craignent pour les tables avec une concurrence d'insertion extrêmement élevée, auquel cas ils deviennent un goulot d'étranglement et vous êtes obligé d'implémenter une séquence à l'aide d'une table MyISAM.
Quoi qu'il en soit, pour répondre à votre question, la plus grande chose que MySQL ait eue a été de configurer facilement la réplication qui permet de chaîner la réplication et de lire les esclaves. Cependant, Postgres aura cela dans la prochaine version, 9.0 (qui est déjà en état alpha).
la source