поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    4.4.5. Синтаксис REPAIR TABLE

    REPAIR TABLE tbl_name[,tbl_name...] [QUICK] [EXTENDED] [USE_FRM]
    

    REPAIR TABLE работает только на таблицах типа MyISAM и эквивалентна выполнению на таблице myisamchk -r table_name.

    При обыкновенной работе запускать эту команду не приходится, но если случится катастрофа, то с помощью REPAIR TABLE практически наверняка удастся вернуть все данные из таблицы MyISAM. Если таблицы сильно повреждены, то следует постараться выяснить, что послужило этому причиной! Обращайтесь к разделам Раздел A.4.1, «Что делать, если работа MySQL сопровождается постоянными сбоями» и See Раздел 7.1.3, «Проблемы с таблицами MyISAM.

    REPAIR TABLE ремонтирует таблицу, которая, возможно, повреждена. Команда возвращает таблицу со следующими столбцами:

    Столбец Значение
    Table Имя таблицы
    Op Всегда ``repair''
    Msg_type Одно из значений status, error, info или warning.
    Msg_text Само сообщение.

    Заметим, что по каждой ремонтируемой таблице может быть выдано много строк информации. Последняя строка будет представлять Msg_type status и, как правило, должна содержать OK. Если выдается что-либо отличное от OK, то следует попробовать исправить таблицу с помощью myisamchk -o, поскольку в REPAIR TABLE пока реализованы не все опции myisamchk. В скором будущем мы сделаем команду более гибкой.

    Если указан QUICK, то MySQL будет пытаться сделать REPAIR только индексного дерева.

    Если используется EXTENDED, то MySQL будет создавать индекс строка за строкой вместо создания по одному индексу единоразово с помощью сортировки; такая техника может работать лучше сортировки для ключей фиксированной длины, если речь идет о хорошо сжимаемых ключах типа CHAR большой длины. Это такой же ремонт, как делается с помощью myisamchk --safe-recover.

    Что касается MySQL 4.0.2, то тут для REPAIR существует режим USE_FRM. Используйте его, если отсутствует файл .MYI или поврежден его заголовок. В этом режиме MySQL воссоздаст таблицу, используя информацию из файла .frm. Этот вид исправления в myisamchk недоступен.

     
    © 1997-2005 PHP Club Team
    Rambler's Top100