1.10. MySQL и будущее (что предстоит сделать)
1.10.3. Что планируется реализовать в версии 5.0
Перечисленные ниже функции планируется реализовать в MySQL 5.0.
Отметим также, что поскольку у нас над новыми проектами работает большое количество разработчиков, появятся и дополнительные возможности. Существует - хотя и очень небольшая - вероятность, что эти возможности будут введены уже в MySQL 4.1. Список того, что уже сделано в 4.1, можно найти в See Раздел D.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):
Записи динамического размера
Более быстрая обработка строк (сокращение операций копирования)