Перечисленные ниже функции планируется реализовать в MySQL 5.0.
Отметим также, что поскольку у нас над новыми проектами работает большое количество разработчиков, появятся и дополнительные возможности. Существует - хотя и очень небольшая - вероятность, что эти возможности будут введены уже в MySQL 4.1. Список того, что уже сделано в 4.1, можно найти в See Раздел C.1, «Изменения в версии 4.1.x (Alpha)».
Хранимые процедуры
Поддержка внешних ключей для всех типов таблиц.
Новый текстовый формат файлов определения структуры таблиц (
.frm
-файлы) и табличный кэш для определений таблиц. Это позволит нам быстрее получать информацию о структуре таблиц и более качественно поддерживать внешние ключи.SHOW COLUMNS FROM table_name
(используемый клиентомmysql
для получения информации о столбцах) не должен открывать таблицы, а только файл определения структуры. Это занимает меньше памяти и будет работать быстрее.Отказобезопасная репликация.
Резервное копирование без остановки работы системы с очень малыми затратами на выполнение. Резервное копирование без остановки работы системы позволит добавлять новый подчиненный сервер репликации без демонтажа головного сервера.
ROLLUP
иCUBE
OLAP (Online Analytical Processing) опции группировки для приложения хранения данных (Data warehousing).Обеспечить возможность для
DELETE
, работающей сMyISAM
-таблицами, использовать кэш записей. Чтобы осуществить это, нам необходимо обновлять кэш записей потока при обновлении.MYD
-файла.При использовании
SET CHARACTER SET
мы должны преобразовать весь запрос целиком, а не только строки. Это позволит пользователям использовать сконвертированные символы в именах баз данных, таблиц и столбцов.Решить проблему, заключающуюся в том, что оператор
RENAME TABLE
, использующийся для активнойMERGE
-таблицы, может повредить таблицу.Добавить к клиент-серверному протоколу возможность получения информации о прогрессе выполнения для сложных и длительных запросов.
-
Реализовать
RENAME DATABASE
. Чтобы сделать эту команду безопасной для всех обработчиков таблиц, она будет работать следующим образом:Создавать новую базу данных.
Переименовывать каждую таблицу, помещаемую в новую базу данных, как это обычно делается командой
RENAME
.Удалять старую базу данных.
Добавить корректную поддержку
VARCHAR
(такая поддержка уже имеется дляMyISAM
).
Оптимизировать тип
BIT
, чтобы он занимал 1 бит (сейчас 1 символ).Новое изменение внутреннего файлового интерфейса. Это позволит сделать обработку всех файлов более однотипной и упростит добавление такой функциональности, как
RAID
(текущая реализация - это просто хак).-
Улучшенные таблицы в памяти (
HEAP
):Записи динамического размера
Более быстрая обработка строк (сокращение операций копирования)