П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 178122 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 75565 раз(а).

Учебник HTML.
Просмотров 74067 раз(а).

Руководство по PHP5.
Просмотров 44987 раз(а).

Хостинг через призму DNS.
Просмотров 51909 раз(а).

Подборка текстов стандартных документов.
Просмотров 45090 раз(а).

Учебник PHP - Самоучитель
Просмотров 51326 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 51780 раз(а).

Внешние атаки...
Просмотров 41919 раз(а).

Учебник PHP.
Просмотров 37256 раз(а).

SSI в примерах.
Просмотров 27840 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 7. Типы таблиц MySQL
Пред.     След.

7.5. Таблицы InnoDB
7.5.4. Создание таблиц InnoDB

7.5.4.1. Преобразование таблиц MyISAM в формат InnoDB

В InnoDB отсутствует специальная оптимизация создания отдельных индексов. Таким образом, этот формат не обеспечивает экспорта и импорта таблиц с последующим созданием индексов. Самый быстрый способ преобразовать таблицу в формат InnoDB - напрямую вставить данные в таблицу InnoDB, воспользовавшись командой ALTER TABLE ... TYPE=INNODB, или создать пустую таблицу InnoDB с такой же структурой и вставить строки при помощи команды INSERT INTO ... SELECT * FROM ....

Чтобы лучше контролировать процесс вставки, большие таблицы желательно вставлять по частям:

INSERT INTO newtable SELECT * FROM oldtable
WHERE yourkey > something AND yourkey <= somethingelse;

После того, как все данные будут вставлены, таблицы можно будет переименовать.

Во время преобразования больших таблиц необходимо задать достаточно большой размер динамического буфера InnoDB, чтобы снизить количество дисковых операций ввода/вывода. Однако размер буфера не должен превышать 80% физической памяти компьютера. Следует установить большие размеры для файлов журналов InnoDB, а также большой размер буфера журналов.

Убедитесь, что у вас достаточно свободного пространства для табличной области: таблицы InnoDB занимают намного больше места, чем таблицы MyISAM. Если во время выполнения команды ALTER TABLE будет исчерпано свободное дисковое пространство, начнется выполнение отката, и это может занять несколько часов, если диск заполнен. Во время вставок для таблицы InnoDB используется буфер вставки, чтобы произвести объединение вторичных индексных записей с индексными таблицами при помощи групповых операций. Это позволяет значительно снизить интенсивность дисковых операций ввода/вывода. При откате такой механизм не используется, поэтому откат может занять в 30 раз больше времени, чем вставка.

В случае, если началось выполнение отката и база данных не содержит ценной информации, лучше прервать этот процесс и удалить все данные InnoDB, файлы журналов, а также все таблицы InnoDB (файлы с расширением .frm), и начать свою работу сначала, а не ждать завершения выполнения миллионов операций ввода/вывода диска.


Назад Начало Главы Начало Раздела Начало Подраздела Вперед

Пред. Глава След. Глава
Глава 6. Справочник по языку MySQL Начало Книги Глава 8. Интерфейсы для MySQL


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru