Для того, щоб зрозуміти найбільш важливі відмінності варто знати відповіді на 4 питання.
1) Скільки рядків кожна БД повертає при СЕЛЕКТА до заблокованої таблиці?
Відповідь для MyASM (MySQL) - 0, відповідь для InnoDB - стільки ж, скільки і для Незаблокована (але сильно повільніше ніж MyASM). Відповідь для Oracle - стільки ж, скільки і для Незаблокована.
2) Які накладні витрати на транзакції. Відповідь для MyASM (MySQL) - транзакція немає як феномена, відповідь для InnoDB - витрати є і значущі для великих систем. Відповідь для Oracle - витрат немає.
3) Як відновити дані після збою. Відповідь для MyASM (MySQL) - ніяк, відповідь для InnoDB - насилу. Відповідь для Oracle - як правило дана процедура не потрібна.
4) Як з логікою на базі справи (в тому числі для роботи з бігдатой)? MySQL - можливостей небагато, працює відносно повільно. Oracle - всього вистачає.
І ще 100500 таких питань можна задати.
MySQl має трохи переваг:
1) Швидкість при односкладових запитів, на малих даних, при розрахованому на одного користувача доступі, без логіки на базі.
2) Безкоштовність.
З PgSQL все дещо складніше. В цілому вона йде до того, щоб називатися базою даних, а не блокнотиком =)
MySQL це для школярів і блокнотик а ще для танчиков WoT, де варгеймінг зберігає 400Гб даних користувачів
// правда не в м'язі, а марііДБ
А яндекс йде від Оракл на постгрес, тк Оракл не дає своїх початкових кодів, а їм дуже хочеться подивитися чому у них все гальмує
Той хто доріс та рівня профі взагалі дуже обережно ставиться до поняття лише Х
І Mysql і Oracle і MSSQL і Postgres - професійні бази даних.
Професіоналізм полягає не в складності використовуваних інструментах, а в адекватності їх використання.
Якщо мені треба буде завдання поставити сайт-візитку, то будь-який професіонал скаже, що Оракл для цього не потрібен.
Якщо мені треба буде завдання писати складський облік в середовищі MS на C #, я напевно вважатиму за краще MS SQL.
Почнемо з того, що Oracle DB - це платне рішення (отже Oracle всі свої зусилля буде вкладати в цей проект), а MySql - безкоштовне (Open Source). У Oracle DB є процедурний мову Pl / Sql, який дозволяє проводити обробку даних на рівні БД. У MySql таке теж є, але воно не на такому рівні як в Oracle DB. + До всього навколо Oracle DB створена ціла інфраструктура.
А що на рахунок Postgres? Процедурний мову у неї є, і не один (PL / pgSQL, PL / Python, PL / PHP, PL / Ruby і багато інших).