Skip to content

Глава 1. Общая информация

]]>Печать]]> E-mail
Оглавление
Глава 1. Общая информация
1.1. Об этом руководстве
1.2. Соглашения, используемые в данном руководстве
1.3. О русском переводе руководства
1.3.1. Список терминов, принятых в русском переводе
1.4. Что представляет собой MySQL?
1.4.1. История MySQL
1.4.2. Основные возможности MySQL
1.4.3. Насколько стабильным является MySQL?
1.4.4. Насколько большими могут быть таблицы в MySQL?
1.4.5. Вопросы, связанные с Проблемой-2000
1.5. Что представляет собой компания MySQL AB?
1.5.1. Бизнес-модель и услуги, оказываемые компанией MySQL AB
1.5.1.1. Поддержка
1.5.1.2. Обучение и сертификация
1.5.1.3. Консультации
1.5.1.4. Коммерческие лицензии
1.5.1.5. О нашей программе партнерства
1.5.1.6. О рекламе
1.5.2. Как с нами связаться
1.6. Лицензии и поддержка MySQL
1.6.1. Поддержка, предлагаемая компанией MySQL AB
1.6.2. Авторские права и лицензии на MySQL
1.6.3. Лицензии на ПО MySQL
1.6.3.1. Использование ПО MySQL под коммерческой лицензией
1.6.3.2. Бесплатное использование ПО MySQL по лицензии GPL
1.6.4. Логотипы и торговые марки MySQL AB
1.6.4.1. Оригинальный логотип MySQL
1.6.4.2. Логотипы MySQL, которые могут использоваться без письменного разрешения
1.6.4.3. В каком случае для использования логотипов необходимо письменное разрешение?
1.6.4.4. Партнерские логотипы MySQL AB
1.6.4.5. Использование слова MySQL в текстовых документах и презентациях
1.6.4.6. Использование слова MySQL в названиях компаний и продуктов
1.7. Кратко о MySQL 4.x
1.7.1. Поэтапный выпуск
1.7.2. Можно использовать уже прямо сейчас
1.7.3. Встроенный MySQL
1.7.4. Другие функции, доступные в MySQL 4.0
1.7.5. Функции MySQL 4.x, которые будут добавлены в будущем
1.7.6. MySQL 4.1, следующая ветка в разработке
1.8. Источники информации по MySQL
1.8.1. Списки рассылки MySQL
1.8.1.1. Списки рассылки MySQL
1.8.1.2. Как задавать вопросы и направлять сообщения об ошибках
1.8.1.3. Как отправлять отчеты об ошибках или проблемах
1.8.1.4. Рекомендации по ответам на вопросы, направляемые в список рассылки
1.8.2. Пользователи MySQL на IRC
1.9. Насколько MySQL соответствует стандартам?
1.9.1. Каким стандартам соответствует MySQL ?
1.9.2. Запуск MySQL в режиме ANSI
1.9.3. Расширения MySQL к ANSI SQL92
1.9.4. Отличия MySQL от ANSI SQL92
1.9.4.1. Вложенные SELECTы
1.9.4.2. Оператор SELECT INTO TABLE
1.9.4.3. Транзакции и атомарные операции
1.9.4.4. Хранимые процедуры и триггеры
1.9.4.5. Внешние ключи
1.9.4.6. Представления
1.9.4.7. Символы «--» как начало комментария
1.9.5. Известные ошибки и недостатки проектирования в MySQL
1.9.5.1. Ошибки, известные в 3.23 и исправленные в более поздних версиях MySQL
1.9.5.2. Открытые ошибки / особенности строения MySQL
1.10. MySQL и будущее (что предстоит сделать)
1.10.1. Что планируется реализовать в версии 4.0
1.10.2. Что планируется реализовать в версии 4.1
1.10.3. Что планируется реализовать в версии 5.0
1.10.4. Что должно быть сделано в ближайшем будущем
1.10.5. То, что надо сделать когда-нибудь
1.10.6. То, чего не планируется делать

1.10.5. То, что надо сделать когда-нибудь

  • Реализовать функцию: get_changed_tables(timeout,table1,table2,...).

  • Изменить чтение таблиц так, чтобы везде, где возможно. использовалась memmap. Сейчас memmap используется только для уплотненных таблиц.

  • Сделать лучше автоматический код временных меток (timestamp). Добавлять временные метки в журнал обновлений при помощи SET TIMESTAMP=#;.

  • Использовать в некоторых местах семафор чтения/записи для увеличения скорости.

  • Обеспечить полную поддержку внешних ключей в MyISAM-таблицах (возможно, после реализации хранимых процедур с триггерами).

  • Подготовить простые обзоры (сначала по одной таблице, позднее по любому выражению).

  • Реализовать автоматическое закрытие некоторых таблиц, если таблица, временная таблица или временные файлы получат ошибку 23 (недостаточно открытых файлов).

  • Если обнаружится поле=#, заменить все местонахождения поля на #. Сейчас такое делается только для некоторых простых случаев.

  • Заменить все константные выражения вычисляемыми, если возможно.

  • Реализовать оптимизацию ключ=выражение. К данному моменту делается оптимизация только для ключ=поле или ключ=константа.

  • Связывать некоторые функции копирования для улучшения кода.

  • Заменить sql_yacc.yy внутритекстовым синтаксическим анализатором, чтобы уменьшить ее размер и получать лучшие сообщения об ошибке (5 дней).

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

  • Использовать полные вычисляемые имена в части сортировки (для ACCESS97).

  • MINUS, INTERSECT и FULL OUTER JOIN (в настоящее время поддерживаются UNION [в 4.0] и LEFT OUTER JOIN).

  • SQL_OPTION MAX_SELECT_TIME=#, чтобы устанавливать ограничения по времени для запроса.

  • Сделать так, чтобы обновляемый журнал записывался в базу данных..

  • Сделать добавления в LIMIT, чтобы можно было делать восстановление данных с конца результирующего набора.

  • Сигналы предупреждений для функций соединения/чтения/записи клиента.

  • Необходимо обратить внимание на изменения на safe_mysqld; согласно FSSTND (которому пытается следовать Debian) PID-файлы должны помещаться в /var/run/<progname>.pid, a файлы журналов - в /var/log. Было бы хорошо, если бы было можно поместить "DATADIR" в первое объявление "pidfile" и "log", чтобы местоположение этих файлов можно было изменить одним оператором.

  • Разрешать клиенту запрашивать ведение журналов.

  • Добавить использование zlib() для gzip-файлов в LOAD DATA INFILE.

  • Исправить сортировку и группирование BLOB-столбцов (сейчас проблема частично решена).

  • Хранимые процедуры. Рассматриваются также триггеры.

  • Простой (атомарный) язык обновления, который может быть использован для написания циклов и т.п. в MySQL-сервере.

  • Произвести изменения для того, чтобы пользоваться семафорами при подсчете потоков. Но сначала нужно реализовать библиотеку семафоров для потоков MIT-pthreads.

  • Не устанавливать новое значение во время установки колонки в 0. вместо этого использовать NULL.

  • Добавить полную поддержку круглых скобок для JOIN.

  • В качестве альтернативы одному потоку/соединению управлять пулом потоков при обработке запросов.

  • Обеспечить возможность получать более чем одну блокировку при помощи GET_LOCK. Когда это будет реализовано, потребуется еще сделать обработку возможных тупиковых ситуаций, которые привнесет данное изменение.

Время отводится согласно объемам работ, а не реальному времени.



Просмотров 7752