Поиск

Новые средства, запланированные на отдаленное будущее

  • Реализация функции get_changed_tables{тайм-аут, таблица!, таблица2, ...).
  • Изменить чтение таблиц так, чтобы использовалась mmap(), где это возможно. В настоящее время mmap() используют только сжатые таблицы.
  • Сделать код автоматических временных меток более изящным. Добавить автомaтические временные метки в протокол обновлений с SET TI HE S T am P=з начение;
  • Использовать семафоры чтения-записи в некоторых местах для повышения скорости.
  • Автоматически закрывать некоторые таблицы, если таблица, временная таблица или временный файл получают ошибку 23 (слишком много открытых файлов).
  • Улучшенное распространение констант. Когда в выражении встречается имя_ столбца=п, причем п - константа, заменять все вхождения имя_столбца в вы­ ражении на п. В настоящее время это выполняется только в некоторых случаях.
    1. Заменить все константные выражения вычисляемыми, если возможно.
    2. Оптимизировать сравнения ключ = выражение. В настоящее время оптимизируются только ключ = столбец и ключ = константа.
    3. Объединить некоторые функции копирования для получения более изящного кода.
    4. Заменить sql_yacc.yy на встроенный анализатор, чтобы уменьшить его размер и получить более удобную диагностику ошибок.
    5. Изменить анализатор таким образом, чтобы использовать только одно правило для разного числа аргументов функции.
    6. Использовать полные вычисленные имена в порядковой части (для СУБД Access 97).
    7. Реализовать 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() получать более одной блокировки. При этом обрабатывать возможные взаимные блокировки, к которым это усовершенствование может привести.