Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 PostgreSQL(v.8.1.8) vs MySQL(v.5.032) - статья из журнала "Системный администратор"  [new]
Гость - в горле кость
Guest
PostgreSQL vs MySQL:
http://www.samag.ru/cgi-bin/go.pl?q=articles;n=07.2007;a=02

Честно говоря, я в шоке от результатов. Специалисты могут прокомментировать?
27 дек 07, 23:14    [5105459]     Ответить | Цитировать Сообщить модератору
 Re: PostgreSQL(v.8.1.8) vs MySQL(v.5.032) - статья из журнала "Системный администратор"  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30237
я не понял, какая версия MySQL проверялась. А в общем, нормальный такой тест... Хотя без транзакций MySQL должен задавить PostgreSQL. В общем, спрашивайте авторов теста.
28 дек 07, 00:46    [5105595]     Ответить | Цитировать Сообщить модератору
 Re: PostgreSQL(v.8.1.8) vs MySQL(v.5.032) - статья из журнала "Системный администратор"  [new]
Yo.!
Guest
ну неудивительный результат, оптимизатор постгре уже 10 лет отлаживает то, что в mysql только появилось, жаль только не представлены планы запросов mysql и непонятно сколько строк в таблицы залили.

2kdv
номера версий субд там указаны.
28 дек 07, 01:01    [5105626]     Ответить | Цитировать Сообщить модератору
 Re: PostgreSQL(v.8.1.8) vs MySQL(v.5.032) - статья из журнала "Системный администратор"  [new]
VoDA
Member

Откуда: сеРверная пальмира :)
Сообщений: 4898
Гость - в горле кость
PostgreSQL vs MySQL:
http://www.samag.ru/cgi-bin/go.pl?q=articles;n=07.2007;a=02

Я не специалист, но ИМХО очень странный результат.
при 11-17 коннектов: MySQL InnoDB 800/70, PostgreSQL 14000/4000 (read/write).
Разница в 17,5 / 57 РАЗ!!! это слишком сильно.

Дальше смотрим в код для MySQL:
DROP TABLE IF EXISTS comments;
CREATE TABLE post_cmt
(
    user_id int(10) NOT NULL,
    post_id int(10) NOT NULL,
    comment_id int(10) NOT NULL,
    from_user_id int(10) NOT NULL,
    comment_date int(10) NOT NULL,
    comment_title varchar(250) NOT NULL,
    comment_body text NOT NULL,
    PRIMARY KEY  (user_id, post_id, comment_id)
) ENGINE=InnoDB;
И запрос:
CommentId = SELECT MAX(comment_id) FROM commnets;
Есть подозрение, что данный запрос будет делать full-table scan. Является ли это "Как мы можем видеть, алгоритмы работы с БД оптимизированны как под MySQL, так и под PostgreSQL." ???
ИМХО нет.

Дальше больше:
SELECT user_id, MAX(posts_id)
 FROM posts
 WHERE user_id
 IN (SELECT friend_id
     FROM friends
     WHERE user_id = UserId)
 GROUP BY user_id;
Зачем нужен подзапрос, если можно сделать джойном. И будет ли подзапрос ОПТИМАЛЬНЕЕ для конкретного сервера СУБД?

К сожалению нет планов запросов, потому об оптимальности запросов нет возможности судить. Опять же странно что MySQL: "а при достаточно большом количестве одновременных выборок (больше 20) происходит отказ от обслуживания"/
29 дек 07, 13:14    [5111241]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить