Статьи

Что нового в MySQL 5.5

Будущее MySQL было неопределенным с тех пор, как Oracle приобрела Sun Microsystems в апреле 2009 года . К счастью, все, кто сомневался в намерениях компании, могут немного расслабиться: выпущен MySQL 5.5 .

В MySQL 5.5 были высказаны впечатляющие претензии, и вы найдете отчеты с подробным описанием улучшений скорости до 4000%. Возьмите те с большим количеством соли, но вы можете ожидать, что версия 5.5 будет быстрее.

Давайте подробнее рассмотрим лучшие из новых функций …

InnoDB становится механизмом хранения по умолчанию

Пора. Есть много , много , много причин, почему InnoDB является лучшим выбором для большинства приложений, но MyISAM до сих пор оставался по умолчанию. Начиная с MySQL 5.5, разработчики получат встроенную надежность и стабильность благодаря транзакциям, совместимым с ACID, поддержке внешнего ключа и восстановлению после сбоев.

Кроме того, новейшая система хранения InnoDB обеспечивает лучшую производительность, масштабируемость и восстановление после катастрофического сбоя.

Лучшая доступность

Производительность была улучшена в многосерверных реплицированных системах с:

  • Полусинхронная репликация
    Для повышения надежности аварийного переключения ведущий может подождать, пока хотя бы одно ведомое устройство зарегистрирует транзакцию.
  • Репликация сердцебиения
    Ведущий отправляет сообщение всем подчиненным узлам с частыми интервалами. Следовательно, ведомые устройства знают, когда мастер вышел из строя, и это помогает оценить задержку между обновлениями главного и подчиненного устройств.

Новая команда LOAD XML

LOAD XML читает данные из файла XML в таблицу. Поддерживаются три разных формата:


<row column1="value1" column2="value2" .../>

или

 
<row>
	<column1>value1</column1>
	<column2>value2</column2>
</row>

или

 
<row>
	<field name="column1">value1</field>
	<field name="column2">value2</field>
</row>

Новые команды SIGNAL / RESIGNAL

Обе команды позволяют реализовать обработку исключений в хранимых процедурах, функциях, событиях, триггерах.

SIGNAL — это то же самое, что команда throw в PHP и других языках. Это позволяет вам возвращать номер ошибки, значение SQLSTATE и сообщение в вызывающий код.

RESIGNAL позволяет распространять исключение SIGNAL, возможно, после дальнейшей работы, такой как очистка данных. RESIGNAL может передать оригинал или измененную версию ошибки.

Новая функция TO_SECONDS ()

Обработка дат и времени не всегда так проста, как вы ожидаете. Файловая система, интерпретатор PHP и сама MySQL имеют разные методы хранения времени, поэтому многие разработчики используют метку времени UNIX или другие целочисленные форматы.

TO_SECONDS () может помочь решить некоторые проблемы; учитывая любое значение даты или даты и времени, он возвращает количество секунд, начиная с года 0 (или NULL, если вы передаете любое другое значение).

Сменная Аутентификация

До сих пор клиент, подключающийся к серверу MySQL, должен был передавать имя пользователя и пароль, которые были аутентифицированы по записи в таблице mysql.user. Теперь возможно создать плагин, который обрабатывает аутентификацию, используя ваши собственные системы и учетные данные.

Улучшена производительность в Windows

Многие предприятия устанавливают MySQL на серверах Windows. Это часто имеет смысл; у них уже есть ИТ-администраторы с опытом работы с Windows, но им нужно экономичное решение для баз данных или они хотят установить веб-приложение, для которого требуется MySQL.

Команда разработчиков MySQL привела систему в порядок и улучшила производительность на платформах Win32 и Win64.

Вы оценили MySQL 5.5? Вы испытали какой-либо прирост производительности? Будете ли вы обновляться? Релиз 5.5 убедил вас в приверженности Oracle работе с базой данных?