MySQL vs Oracle vs PostgreSQL

MySQL
MySQL

20.7K
5.9K
3.7K
Oracle
Oracle

732
24
79
PostgreSQL
PostgreSQL

14.9K
5.6K
3.4K
- No public GitHub repository available -

What is MySQL?

The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.

What is Oracle?

Oracle Database is an RDBMS. An RDBMS that implements object-oriented features such as user-defined types, inheritance, and polymorphism is called an object-relational database management system (ORDBMS). Oracle Database has extended the relational model to an object-relational model, making it possible to store complex business models in a relational database.

What is PostgreSQL?

PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose MySQL?
Why do developers choose Oracle?
Why do developers choose PostgreSQL?
What are the cons of using MySQL?
What are the cons of using Oracle?
What are the cons of using PostgreSQL?
What companies use MySQL?
What companies use Oracle?
What companies use PostgreSQL?
What are some alternatives to MySQL, Oracle, and PostgreSQL?
MariaDB
Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB is designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.
MongoDB
MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
Microsoft SQL Server
Microsoft® SQL Server is a database management and analysis system for e-commerce, line-of-business, and data warehousing solutions.
SQLite
SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.
Apache Aurora
Apache Aurora is a service scheduler that runs on top of Mesos, enabling you to run long-running services that take advantage of Mesos' scalability, fault-tolerance, and resource isolation.
See all alternatives
What tools integrate with MySQL?
What tools integrate with Oracle?
What tools integrate with PostgreSQL?
    No integrations found
      No integrations found
        No integrations found
        Decisions about MySQL, Oracle, and PostgreSQL
        Gregory Koberger
        Gregory Koberger
        Compose
        MongoLab
        MongoDB Atlas
        PostgreSQL
        MySQL
        MongoDB

        We went with MongoDB , almost by mistake. I had never used it before, but I knew I wanted the *EAN part of the MEAN stack, so why not go all in. I come from a background of SQL (first MySQL , then PostgreSQL ), so I definitely abused Mongo at first... by trying to turn it into something more relational than it should be. But hey, data is supposed to be relational, so there wasn't really any way to get around that.

        There's a lot I love about MongoDB, and a lot I hate. I still don't know if we made the right decision. We've been able to build much quicker, but we also have had some growing pains. We host our databases on MongoDB Atlas , and I can't say enough good things about it. We had tried MongoLab and Compose before it, and with MongoDB Atlas I finally feel like things are in a good place. I don't know if I'd use it for a one-off small project, but for a large product Atlas has given us a ton more control, stability and trust.

        See more
        Tim Abbott
        Tim Abbott
        Founder at Zulip · | 12 upvotes · 45.6K views
        atZulipZulip
        Elasticsearch
        MySQL
        PostgreSQL

        We've been using PostgreSQL since the very early days of Zulip, but we actually didn't use it from the beginning. Zulip started out as a MySQL project back in 2012, because we'd heard it was a good choice for a startup with a wide community. However, we found that even though we were using the Django ORM for most of our database access, we spent a lot of time fighting with MySQL. Issues ranged from bad collation defaults, to bad query plans which required a lot of manual query tweaks.

        We ended up getting so frustrated that we tried out PostgresQL, and the results were fantastic. We didn't have to do any real customization (just some tuning settings for how big a server we had), and all of our most important queries were faster out of the box. As a result, we were able to delete a bunch of custom queries escaping the ORM that we'd written to make the MySQL query planner happy (because postgres just did the right thing automatically).

        And then after that, we've just gotten a ton of value out of postgres. We use its excellent built-in full-text search, which has helped us avoid needing to bring in a tool like Elasticsearch, and we've really enjoyed features like its partial indexes, which saved us a lot of work adding unnecessary extra tables to get good performance for things like our "unread messages" and "starred messages" indexes.

        I can't recommend it highly enough.

        See more
        Conor Myhrvold
        Conor Myhrvold
        Tech Brand Mgr, Office of CTO at Uber · | 4 upvotes · 63.5K views
        atUber TechnologiesUber Technologies
        Python
        MySQL
        PostgreSQL

        Our most popular (& controversial!) article to date on the Uber Engineering blog in 3+ yrs. Why we moved from PostgreSQL to MySQL. In essence, it was due to a variety of limitations of Postgres at the time. Fun fact -- earlier in Uber's history we'd actually moved from MySQL to Postgres before switching back for good, & though we published the article in Summer 2016 we haven't looked back since:

        The early architecture of Uber consisted of a monolithic backend application written in Python that used Postgres for data persistence. Since that time, the architecture of Uber has changed significantly, to a model of microservices and new data platforms. Specifically, in many of the cases where we previously used Postgres, we now use Schemaless, a novel database sharding layer built on top of MySQL (https://eng.uber.com/schemaless-part-one/). In this article, we’ll explore some of the drawbacks we found with Postgres and explain the decision to build Schemaless and other backend services on top of MySQL:

        https://eng.uber.com/mysql-migration/

        See more
        Interest over time
        Reviews of MySQL, Oracle, and PostgreSQL
        No reviews found
        How developers use MySQL, Oracle, and PostgreSQL
        Avatar of AngeloR
        AngeloR uses PostgreSQLPostgreSQL

        We use postgresql for the merge between sql/nosql. A lot of our data is unstructured JSON, or JSON that is currently in flux due to some MVP/interation processes that are going on. PostgreSQL gives the capability to do this.

        At the moment PostgreSQL on amazon is only at 9.5 which is one minor version down from support for document fragment updates which is something that we are waiting for. However, that may be some ways away.

        Other than that, we are using PostgreSQL as our main SQL store as a replacement for all the MSSQL databases that we have. Not only does it have great support through RDS (small ops team), but it also has some great ways for us to migrate off RDS to managed EC2 instances down the line if we need to.

        Avatar of Cloudcraft
        Cloudcraft uses PostgreSQLPostgreSQL

        PostgreSQL combines the best aspects of traditional SQL databases such as reliability, consistent performance, transactions, querying power, etc. with the flexibility of schemaless noSQL systems that are all the rage these days. Through the powerful JSON column types and indexes, you can now have your cake and eat it too! PostgreSQL may seem a bit arcane and old fashioned at first, but the developers have clearly shown that they understand databases and the storage trends better than almost anyone else. It definitely deserves to be part of everyone's toolbox; when you find yourself needing rock solid performance, operational simplicity and reliability, reach for PostgresQL.

        Avatar of Brandon Adams
        Brandon Adams uses PostgreSQLPostgreSQL

        Relational data stores solve a lot of problems reasonably well. Postgres has some data types that are really handy such as spatial, json, and a plethora of useful dates and integers. It has good availability of indexing solutions, and is well-supported for both custom modifications as well as hosting options (I like Amazon's Postgres for RDS). I use HoneySQL for Clojure as a composable AST that translates reliably to SQL. I typically use JDBC on Clojure, usually via org.clojure/java.jdbc.

        Avatar of Rajeshkumar T
        Rajeshkumar T uses MySQLMySQL
        • We are used MySQL database to build the Online Food Ordering System

          • Its best support normalization and all joins ( Restaurant details & Ordering, customer management, food menu, order transaction & food delivery).
          • Best for performance and structured the data.
          • Its help to stored the instant updates received from food delivery app ( update the real-time driver GPS location).
        Avatar of Srinivas Adireddi
        Srinivas Adireddi uses MySQLMySQL

        1.It's very popular. Heared about it in Database class 2. The most comprehensive set of advanced features, management tools and technical support to achieve the highest levels of MySQL scalability, security, reliability, and uptime. 3. MySQL is an open-source relational database management system. Its name is a combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the abbreviation for Structured Query Language.

        Avatar of ShadowICT
        ShadowICT uses MySQLMySQL

        We use MySQL and variants thereof to store the data for our projects such as the community. MySQL being a well established product means that support is available whenever it is required along with an extensive list of support articles all over the web for diagnosing issues. Variants are also used where needed when, for example, better performance is needed.

        Avatar of ReviewTrackers
        ReviewTrackers uses PostgreSQLPostgreSQL

        PostgreSQL is responsible for nearly all data storage, validation and integrity. We leverage constraints, functions and custom extensions to ensure we have only one source of truth for our data access rules and that those rules live as close to the data as possible. Call us crazy, but ORMs only lead to ruin and despair.

        Avatar of shridhardalavi
        shridhardalavi uses MySQLMySQL

        MySQL is a freely available open source Relational Database Management System (RDBMS) that uses Structured Query Language (SQL). SQL is the most popular language for adding, accessing and managing content in a database. It is most noted for its quick processing, proven reliability, ease and flexibility of use.

        Avatar of Jeff Flynn
        Jeff Flynn uses PostgreSQLPostgreSQL

        Tried MongoDB - early euphoria - later dread. Tried MySQL - not bad at all. Found PostgreSQL - will never go back. So much support for this it should be your first choice. Simple local (free) installation, and one-click setup in Heroku - lots of options in terms of pricing/performance combinations.

        Avatar of John Galbraith
        John Galbraith uses MySQLMySQL

        I am not using this DB for blog posts or data stored on the site. I am using to track IP addresses and fully qualified domain names of attacker machines that either posted spam on my website, pig flooded me, or had more that a certain number of failed SSH attempts.

        Avatar of Onezino Gabriel
        Onezino Gabriel uses OracleOracle

        Gerenciamento de banco de dados utilizados por odos os serviços/aplicações criados

        Avatar of Adrian Harabulă
        Adrian Harabulă uses OracleOracle

        recommended solution at school, also used to try out alternatives to MySQL

        Avatar of Satoru Ishikawa
        Satoru Ishikawa uses OracleOracle

        データベース構成設計や実際のデータ操作など。実作業では9i, 10g, 11gを触った。

        Avatar of Hyunwoo Shim
        Hyunwoo Shim uses OracleOracle

        Oracle을 통해 RDB를 학습하였습니다.

        Avatar of douglasresende
        douglasresende uses OracleOracle

        I'm expert database.

        How much does MySQL cost?
        How much does Oracle cost?
        How much does PostgreSQL cost?
        Pricing unavailable
        Pricing unavailable
        Pricing unavailable
        News about Oracle
        More news