Вышла новая версия MySQL 5.1.*, которая теперь стала стабильной(production) версией MySQL. До этого где-то два года стабильной версией была ветвь 5.0.*.
Теперь можно говорить о промышленной эксплуатации этой ветви MySQL. Что в ней нового (согласно документации (http://dev.mysql.com/doc/refman/5.1/en/mysql-nutshell.html):
1) Partitioning. Разбиение таблиц. Думаю, это может хорошо помочь для улучшения производительности запросов на большихобъемах данных, которые не следует делить на таблицы. Пример:
CREATE TABLE members (
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
username VARCHAR(16) NOT NULL,
email VARCHAR(35),
joined DATE NOT NULL
)
PARTITION BY RANGE( YEAR(joined) ) (
PARTITION p0 VALUES LESS THAN (1960),
PARTITION p1 VALUES LESS THAN (1970),
PARTITION p2 VALUES LESS THAN (1980),
PARTITION p3 VALUES LESS THAN (1990),
PARTITION p4 VALUES LESS THAN MAXVALUE
);
2) Row-based replication. Реприкация на основе записей (до этого репликация была на основе запросов).
3) Plugin API. Расширение возможностей СУБД без перезагрузки.
4) Event scheduler. Диспетчер задач. Честно говоря пока не ясно, чем не подходит для этого стандартный crontab. Надо смотреть особенности.
5) Server log tables. Стало возможным заносить информацию о запросах не только в журнал, но и в специальные таблицы в СУБД.
6) Upgrade program. Утилита для обновления таблиц при обновлении СУБД. Предназначена для того, чтобы снизить риск несовместимости версий СУБД.
7) MySQL Cluster. Создан MySQL Кластер как отдельный продукт на основе MySQL 5.1
8) Backup of tablespaces. Создание архивов табличных пространств. Пока не ясно, так как раньше табличных пространств в MySQL не было заметно.
9) Improvements to INFORMATION_SCHEMA. Изменения в метаинформации СУБД, в большей степени связаны с общими изменениями, например разделение таблиц.
10) XML functions with XPath support. Теперь MySQL поддерживает XML в SQL-запросах.
11) Load emulator. Утилита для тестирования нагрузки на СУБД.
Из этого списка пока только первый пункт представляет наиболее убедительную причину для смены ветки 5.0 на 5.1. Осталось еще разобраться решены ли вопросы безопасности с механизмом триггеров, который в 5.0 лучше не использовать.
1) Не работает полнотекстовый поиск;
2) Нельзя использовать внешние ключи (а значит нет ссылочной целостности);
3) Утилиты проверки и исправления таблиц не работают, работают только SQL-команды, но лишь с версии 5.1.27.
Следовательно partioning в MySQL до версии 6.0 лучше не использовать.