мовірно, буде зупинити свій вибір на MySQL Server. Якщо ж вам необхідні додаткові можливості, наявні тільки у PostgreSQL, цієї СУБД і варто користуватися.
Значна відмінність MySQL від PostgreSQL полягає в тому, що практично весь міститься в MySQL код створений розробниками, працюючими в MySQL AB і постійно зайнятими вдосконаленням коду сервера. Винятком з цього правила є системи транзакцій і бібліотека регулярних виразів regexp.
Більша ж частина коду PostgreSQL написана безліччю розробників, ніяк один з одним не пов'язаних. Не так давно розробники PostgreSQL оголосили про те, що у їх команди нарешті вистачило часу на перегляд усього коду, що увійшов до складу чергової версії PostgreSQL.
Порівняння можливостей MySQL і PostgreSQLобладает наступними перевагами перед PostgreSQL:
· MySQL зазвичай набагато перевершує PostgreSQL за швидкістю роботи. Крім того, в MySQL 4.0 реалізований кеш запитів. Він дозволяє у багато разів збільшити швидкість обробки запитів для сайтів, на яких переважають неодноразово повторювані запити на читання.
· За кількістю користувачів MySQL також набагато перевершує PostgreSQL. Тому код тестується значно прискіпливіше і досвідченим шляхом доведена більша його надійність, ніж у PostgreSQL. MySQL частіше, ніж PostgreSQL, використовується на виробництві, в основному тому, що компанія MySQL AB (раніше - TCX DataKonsult AB) надає високоякісну комерційну технічну підтримку MySQL з моменту появи цієї системи на ринку, а у PostgreSQL до самого останнього часу ніякої підтримки не було.
· MySQL працює в середовищі Windows краще, ніж PostgreSQL. MySQL Server запускається як справжнє (рідне) Windows-додаток (в NT/2000/XP - сервіс), у той час як PostgreSQL запускається в середовищі емуляції, Cygwin. Доводилося чути про недостатню стабільності роботи PostgreSQL в середовищі Windows, але самостійно ці відомості досі перевірити не міг.
· MySQL оснащений великою кількістю API для інших мов і підтримується великою кількістю існуючих програм, ніж PostgreSQL.
· MySQL працює на високонадійних промислових системах 24/7 (включених 24 години на добу 7 днів на тиждень). У більшості випадків ніяких чисток в MySQL проводити не потрібно. PostgreSQL ж поки що не може працювати в таких системах, так як іноді доводиться запускати VACUUM для звільнення зайнятого наслідками роботи команд UPDATE і DELETE простору і проводити статистичний аналіз, необхідний для досягнення максимальної продуктивності PostgreSQL. Запускати VACUUM необхідно і після кожного додавання до таблиці декількох стовпців. На напружено працюють системах VACUUM потрібно запускати більш часто, в найгірших випадках - по кілька разів на день. Адже під час роботи VACUUM (а її робота може тривати годинник, якщо база даних досить велика) база практично мертва raquo ;. Втім, в PostgreSQL версії 7.2 виконання основних функцій цієї програми більше не приводить до блокування бази, і користувачі можуть продовжувати нормально працювати з нею. Нова команда VACUUM FULL береться за справу більш серйозно: вона, як і в старих версіях, блокує таблицю і стискає копію таблиці на диску.
· Книг про MySQL вийшло значно більше, ніж про PostgreSQL. Книги про MySQL випустили видавництва O" Reilly, SAMS, Que і New Riders. Всі можливості MySQL детально описані в документації, так як це є обов'язковою умовою включення нових можливостей в код.
· MySQL володіє значно більш потужною реалізацією ALTER TABLE.
· В MySQL передбачена можливість створення таблиць без транзакцій, що необхідно додатків, що вимагають максимально можливої ??швидкості роботи.
· MySQL може працювати з двома підтримуючими транзакції обработчиками таблиць, а саме - InnoDB і BerkeleyDB. Так як всі системи підтримки транзакцій в різних умовах працюють по-різному, це дає розробнику можливість знайти найкраще рішення для умов, в яких працюватиме його система. See section 7 Типи таблиць MySQL.
· Команда злиття таблиць MERGE надає у ваше розпорядження унікальну можливість створити уявлення кількох ідентичних таблиць і працювати з ними як з одного. Це особливо зручно для роботи з журналами, розбитими, наприклад, по місяцях.
· Можливість стиснення доступних тільки для читання таблиць, не скасовує прямого доступу до їх записам, підвищує продуктивність системи, знижуючи кількість операцій зчитування з диска. Це особливо корисно при архівуванні.
· В MySQL реалізований повнотекстовий пошук.
· Є можливість роботи з декількома базами через одне з'єднання (зрозуміло, залежно від привілеїв користувача).
· Система MySQL з самого початку розроблялася з розраху...