MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: 1 Общая информация :: 1.9 Насколько MySQL соответствует стандартам? :: 1.9.5 Известные ошибки и недостатки проектирования в MySQL :: 1.9.5.2 Открытые ошибки / особенности строения MySQL

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • 1.9.5 Известные ошибки и недостатки проектирования в MySQL
  • 1.9.5.1 Ошибки, известные в 3.23 и исправленные в более поздних версиях MySQL
  • 1.9.5.2 Открытые ошибки / особенности строения MySQL

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

1.9.5.2. Открытые ошибки / особенности строения MySQL

Устранение следующих из выявленных проблем относится к числу первоочередных задач:

  • ANALYZE TABLE на таблицах BDB в некоторых случаях может сделать таблицу недоступной для использования, пока не произойдет перезапуск mysqld. При этом в файле ошибок MySQL можно будет увидеть ошибки, подобные следующим:

    001207 22:07:56 bdb: log_flush: LSN past current end-of-log
    
  • Не следует выполнять ALTER TABLE на таблицах BDB, на которых осуществляются многокомандные транзакции, пока все эти транзакции не завершатся (возможно, данные транзакции будут проигнорированы).

  • ANALYZE TABLE, OPTIMIZE TABLE и REPAIR TABLE могут вызвать проблемы на таблицах, для которых используется INSERT DELAYED.

  • Выполнение LOCK TABLE ... и FLUSH TABLES ... не гарантирует, что на данной таблице нет исполняемых в текущий момент незаконченных транзакций.

  • Открытие таблиц BDB происходит несколько медленно. Если база данных содержит много таблиц BDB, то потребуется значительное время для использования клиента mysql на этой базе данных, если не применять опцию -A или если использовать rehash. Это особенно заметно при наличии большого табличного кэша.

Следующие проблемы также известны и будут устранены в свое время:

  • При использовании функции RPAD, или любой другой строковой функции, добавляющией пробелы в правую часть строки, в запросе, для которого MySQL будет создавать временные таблицы для его выполнения, все результирующие строки будут в результате обработаны RTRIM'ом (RTRIM'ed). Вот пример запроса:

    SELECT RPAD(t1.field1, 50, ' ') AS f2, RPAD(t2.field2, 50, ' ') AS f1 FROM table1 as t1 LEFT JOIN table2 AS t2 ON t1.record=t2.joinID ORDER BY t2.record;

    В результате невозможно получить пробелы в правой части результирующего столбца.

    Такое поведение присутствует во всех версиях MySQL.

    Причина заключается в том, что HEAP-таблицы, которые в первую очередь испол