Справочное руководство по MySQL версии 4.1.1-alpha


1.11.2.3 Тестирование скорости работы MySQL и PostgreSQL - часть 2


Нет ничего проще, чем написать тест, доказывающий, что любая СУБД является лучшей в мире, для этого достаточно ограничиться измерением результатов операций, с которыми эта СУБД справляется хорошо, и деликатно забыть об остальных. А если еще после этого выдать обобщенный график, то все становится еще проще.

Это то же самое, если бы мы решили сравнить скорость работы MySQL Server и PostgreSQL просто сравнив общие результаты тестов MySQL, приведенных на нашей странице. По таким результатам MySQL Server оказался бы более чем в 40 раз быстрее PostgreSQL, а это, конечно, неверно. Можно было бы подлить масла в огонь, избрав для тестирования PostgreSQL тесты, на которые эта система тратит больше всего времени, - и утверждать что MySQL Server более чем в 2000 раз быстрее PostgreSQL.

Дело тут в том, что MySQL оптимизирует многое из того, чего не оптимизирует PostgreSQL. И наоборот. SQL-оптимизатор вообще очень сложная штука, и можно потратить годы исключительно на его улучшение.

Исследуя результаты тестов, нужно искать задачи, которые должно выполнять ваше приложение, и результаты их выполнения использовать для принятия решения о выборе СУБД. Результаты тестов позволяют определить и задачи, с решением которых выбранная СУБД справляется не слишком хорошо, - таким образом можно определить, чего следует избегать и обходить в своих программах.

Нам известно о двух тестах, утверждающих, что PostgreSQL по производительности превосходит MySQL Server. Оба они - многопользовательские, а у сотрудников MySQL AB пока что не нашлось времени написать такой тест. Основная причина - довольно сложно сделать это так, чтобы не поставить ни одну из СУБД в заведомо проигрышное положение.

Один из этих тестов был заказан компанией Great Bridge, которая в течение 16 месяцев пыталась построить бизнес на основе PostgreSQL, но в конце концов прекратила свою деятельность. Вероятно, это худший из когда-либо проводившихся кем-либо тестов. Он не только принимает во внимание лишь те области, в которых PostgreSQL оказывается ``на коне'', но и ставит абсолютно все остальные СУБД в заведомо проигрышное положение.




- Начало -  - Назад -  - Вперед -