- Реализация функции get_changed_tables{тайм-аут, таблица!, таблица2, …).
- Изменить чтение таблиц так, чтобы использовалась mmap(), где это возможно. В настоящее время mmap() используют только сжатые таблицы.
- Сделать код автоматических временных меток более изящным. Добавить автомaтические временные метки в протокол обновлений с SET TI HE S T am P=з начение;
- Использовать семафоры чтения-записи в некоторых местах для повышения скорости.
- Автоматически закрывать некоторые таблицы, если таблица, временная таблица или временный файл получают ошибку 23 (слишком много открытых файлов).
- Улучшенное распространение констант. Когда в выражении встречается имя_ столбца=п, причем п – константа, заменять все вхождения имя_столбца в вы ражении на п. В настоящее время это выполняется только в некоторых случаях.
- Заменить все константные выражения вычисляемыми, если возможно.
- Оптимизировать сравнения ключ = выражение. В настоящее время оптимизируются только ключ = столбец и ключ = константа.
- Объединить некоторые функции копирования для получения более изящного кода.
- Заменить sql_yacc.yy на встроенный анализатор, чтобы уменьшить его размер и получить более удобную диагностику ошибок.
- Изменить анализатор таким образом, чтобы использовать только одно правило для разного числа аргументов функции.
- Использовать полные вычисленные имена в порядковой части (для СУБД Access 97).
- Реализовать MINUS, INTERSECT и FULL OUTER JOIN (сейчас поддерживаются UNION и LEFT | RIGHT OUTER JOIN).
nРазрешить использование SQL_OPTION MAX_SELECT_TIME=3Haчение для указания временного ограничения в запросе.
- Сделать возможной запись протоколов обновлений в базу данных.
- Усовершенствовать limit, чтобы обеспечить извлечение данных из конца резуль тирующего набора.
- Организовать выдачу предупреждений клиентскими функциями подключе- н ия/чтения/зап иси.
- Обратите внимание на изменения в mysqld_safe: согласно стандарту FSSTND (которому старается следовать Debian), PID-файлы должны размещаться в /уаг/гип/;имя_программы, а файлы протоколов – в /var/log. Было бы не плохо, если бы можно было помещать DATADIR в первое объявление pidfile и log, чтобы местоположение этих файлов можно было менять с помощью единственного оператора.
- Разрешить клиенту запрашивать протоколирование.
- Разрешить оператору LOAD DATA INFILE читать файлы, сжатые с помощью gzip.
- Исправить сортировку и группирование столбцов BLOB (частично решено сейчас).
- Использовать семафоры при подсчете потоков. Сначала потребуется реализовать библиотеку семафоров для потоков MIT-pthreads.
- Добавить полную поддержку JOIN со скобками.
- В качестве альтернативы модели один поток на соединение управлять пулом потоков для управления запросами.
- Разрешить GET_LOCK() получать более одной блокировки. При этом обрабатывать возможные взаимные блокировки, к которым это усовершенствование может привести.