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. :: 4 Администрирование баз данных :: 4.4 Предотвращение катастроф и восстановление :: 4.4.6 Использование myisamchk для профилактики таблиц и послеаварийного :: 4.4.6.6 Использование памяти утилитой myisamchk

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


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

  • 4.4.6 Использование myisamchk для профилактики таблиц и послеаварийного
  • 4.4.6.1 Синтаксис запуска myisamchk
  • 4.4.6.2 Общие опции для myisamchk
  • 4.4.6.3 Проверочные опции для myisamchk
  • 4.4.6.4 Опции исправления для myisamchk
  • 4.4.6.5 Другие опции для myisamchk
  • 4.4.6.6 Использование памяти утилитой myisamchk
  • 4.4.6.7 Использование myisamchk для послеаварийного восстановления
  • 4.4.6.8 Как проверять таблицы на ошибки
  • 4.4.6.9 Как ремонтировать таблицы
  • 4.4.6.10 Оптимизация таблиц

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


Additional languages

  • German


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

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

4.4.6.6. Использование памяти утилитой myisamchk

При работе myisamchk очень важно распределение памяти. Объем используемой myisamchk памяти не превышает количества, указанного с помощью опций -O. Когда речь идет о применении myisamchk на очень больших файлах, следует сначала принять решение о том, какое количество памяти будет при этом использоваться. По умолчанию для целей исправления ошибок отводится только около 3Mб. Применяя большие величины, можно достичь большей скорости работы myisamchk. К примеру, если имеется более 32Mб оперативной памяти, то можно задать следующие опции (в дополнение к любым другим указанным опциям):

shell> myisamchk -O sort=16M -O key=16M -O read=1M -O write=1M ...

В большинстве случаев достаточно использовать -O sort=16M.

Важно понимать, что myisamchk использует временные файлы, для указания на которые служит TMPDIR. Если TMPDIR указывает на файловую систему с размещением в памяти, то велика вероятность ошибок нехватки памяти (out of memory). Если такое произойдет, то в TMPDIR следует поместить имя некоторого другого каталога с большим пространством и перезапустить myisamchk.

При выполнении ремонта myisamchk также понадобится большое количество дискового пространства; :

  • Потребуется пространство порядка удвоенного размера файла - для оригинала и копии файла данных. В этом пространстве нет необходимости, когда исправление выполняется с --quick, поскольку в этом случае повторно создается только индексный файл. Дополнительное место необходимо на том же диске, где находится оригинальный файл записи!

  • Необходимо место для нового индексного файла, заменяющего старый. В начальной фазе выполнения старый индексный файл усекается, поэтому обычно данный объем можно не учитывать. Место должно обеспечиваться на диске, содержащем оригинальный индексный файл!

  • При указании --recover или --sort-recover (но не в случае использования --safe-recover) потребуется место для буфера сортировки: (largest_key + row_pointer_length)*number_of_rows * 2. Можно узнать длину ключей и row_pointer_length с помощью myisamchk -dv table. Это пространство выделяется на временном диске (который определяется при помощи TMPDIR либо --tmpdir=#).

Если возникнут проблемы в связи с нехваткой дискового пространства во время исправления, можно попробовать использовать --safe-recover вместо --recover.


This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

Top / Previous / Next / Up / Table of Contents

© 1995-2005 MySQL AB. All rights reserved.

  • About MySQL
  • Careers
  • Site Map
  • Contact Us
  • Legal
  • Privacy Policy
  • Trademark Info
  • No Software Patents!