Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение MyISAM и InnoDB, Какую СУБД выбрать? 
:(
    Опции темы
FiMa1
Дата 16.1.2010, 02:22 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 23.9.2006

Репутация: 1
Всего: 6



Привет всем.

Часто у начинающих работать с MySQL программистов возникают вопросы в чем состоит отличие СУБД MyISAM от InnoDB и наоборот. Я собрал из различных источников в сети некоторое количество информации на данную тему с которой вы можете ознакомиться.

ПРОИЗВОДИТЕЛЬНОСТЬ
Цитата(MyISAM)

Быстрее выполняется большое количество запросов SELECT, INSERT, но при небольшом количестве запросов DELETE или UPDATE.
Также производительность падает при значительном количестве одновременных запросов на чтение/запись к таблице.

Цитата(InnoDB)

InnoDB предлагает кэширование данных, более высокий параллелизм, фоновую запись на диск, ухудшения производительности – более медленная запись, более медленная обработка BLOB, проблемы при работе с очень большим количеством таблиц, медленная загрузка данных и ALTER TABLE, низкая производительность COUNT(*) без WHERE, исправление данной проблемы требует модификации приложения.

ХРАНЕНИЕ ДАННЫХ
Цитата(MyISAM)

Для каждой таблицы создается один файл данных.

Цитата(InnoDB)

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

НАДЕЖНОСТЬ И ВОССТАНОВЛЕНИЕ
Цитата(MyISAM)

Таблица может отказаться работать без явной на то причины. Необходимо выполнение REPAIR TABLE.
Для контроля целостности таблиц рекомендуется периодически запускать mysqlcheck через cron.
Отсутствие возможности самовосстановления по журналу при сбоях.

Цитата(InnoDB)

Формат данных InnoDB обеспечивает надежное хранение данных за счет транзакционности и блокирование данных на уровне СТРОКИ.
InnoDB обеспечивает также и быстрое самовосстановление после сбоев.

БЛОКИРОВКИ
Цитата(MyISAM)

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

Цитата(InnoDB)

Блокировка регионов, на уровне строк таблицы. Нет деградации производительности с повышением нагрузки.

ТРАНЗАКЦИИ И ВНЕШНИЕ КЛЮЧИ
Цитата(MyISAM)

Не поддерживаются.

Цитата(InnoDB)

Поддерживаются.

DEADLOCKS
Цитата(InnoDB)

Могут возникать deadlocks, не свойственные MyISAM.

ПОЛНОТЕКСТОВЫЙ ПОИСК
Цитата(MyISAM)

Поддерживается.

Цитата(InnoDB)

Полнотекстовый поиск не поддерживается.

РЕЗЕРВНОЕ КОПИРОВАНИЕ
Цитата(MyISAM)

Отсутствие средств резервного копирования. Утилита mysqldump, предлагаемая для создания резервных копий, является не инструментом резервного копирования, а инструментом экспорта в текст (в последовательность операторов INSERT, воссоздающих содержимое таблицы). Для выполнения задачи с сохранением целостности базы данных mysqldump захватывает блокировку таблицы, приводя к полной остановке работы системы на все время своего исполнения.
Останов процесса MySQL и создание копии инструментами копирования файлов из UNIX приводит к меньшему времени простоя системы. Особенно удачен для этого gzip в режиме минимальной компрессии, который при незначительной для современного оборудования нагрузке процессора снижает объем данных, подлежащих записи в полученный файл, и тем самым ускоряет операцию.

ОБЪЕМ ТАБЛИЦ
Цитата(MyISAM)

Как правило таблицы MyISAM компактней.

Цитата(InnoDB)

Без сжатия увеличение размера таблиц.

ДОПОЛНИТЕЛЬНЫЕ МАТЕРИАЛЫ

Это сообщение отредактировал(а) FiMa1 - 16.1.2010, 02:27
PM   Вверх
passer
Дата 19.10.2010, 15:24 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 14.4.2007

Репутация: нет
Всего: нет



тут можно писать?
я не эксперт но расскажу то что видел в своей жизни. 

был случай когда innodb крашнулся. и никак не удалось его востановить(вохможно неопытность но не факт). но всеже "The storage engine for the table doesn't support repair". 
тогда как myisam хоть и  отказывается работать чаше(как минимум потому что таких тамблиц у нас всегда было больше. особенно после того как мы одну таблицу innodb потерялиsmile) repair всегда нормально чинит его. 

у myisam не эффективный бекап(mysqldump в .sql файл). лучше файлы таблицы скопировать. 

для innodb не работает mysqlhotcopy.

нормального  способа востановление innodb таблиц я та ки не видел. так что когда бывают таблице в которых нуна большая производительность read/write использую innodb но при условии что часто их бекапить. а вообше стараюсь строить системы так чтобы не приходилось юзать innodb

Это сообщение отредактировал(а) passer - 19.10.2010, 15:39
PM MAIL   Вверх
jexerrus
Дата 18.3.2014, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 17.3.2014

Репутация: нет
Всего: нет



mysql вообще часто ломается, особенно при больших объемах таблиц, MyISAM конечно ломается чаще но зато не так критично

единственным способом реально сохранить данные и повысить отказоустойчивость для реляционных баз данных остается репликация Мастер->Слэйв + регулярный бэкап слейва.

с noSQL таких проблем конечно нет =)
PM MAIL WWW   Вверх
Gwendolen
Дата 16.9.2022, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 5.4.2005

Репутация: нет
Всего: 1



Цитата(FiMa1 @  16.1.2010,  02:22 Найти цитируемый пост)
Цитата(InnoDB)

Полнотекстовый поиск не поддерживается.


Уже несколько лет есть, с версии 5.6.4
--------------------
Наносите пользу и причиняйте добро!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1057 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.