Undr

На память

Чем отличается MyISAM от innoDB

1 Star2 Stars3 Stars4 Stars5 Stars (4 голосов, средний: 5.00 из 5)
Loading ... Loading ...

with 3 comments

Главное отличие: при записи в таблицу в innodb не блокируется вся таблица, а только именно та строка в которую идёт запись. Innodb увеличивает скорость если в таблицу постоянно идёт запись и вывод из неё. Но innodb работает медленнее если из таблицы идёт только постоянно вывод данных.

  • Innodb восстанавливается от сбоя повторно запуская лог транзакций. Myisam должен сканировать и восстанавливать или перестраивать индексы или таблицы. которые были обновлены. но не сброшены на диск. У innodb восстановление занимает всегда одно и тоже время. У myisam это время растет с увеличением объема данных. Innodb более надежны при больших объемах данных.
  • Myisam использует операционную систему для кэширования чтения и записи строк данных, тогда как innodb делает это самостоятельно. Измененные страницы базы данных сразу не передаются операционной системе, поэтому innodb дает прирост в скорости.
  • В отличие от myisam, innodb не поддерживает сжатие таблиц.
  • Innodb должен сбрасывать данные на диск хотя бы один раз за транзакцию.
  • У innodb нет встроенного полнотекстового поиска.

Написал undr ()

4 сентября 2009 в 18:58

Размещено в Программирование

Метки: , , ,

3 Responses to 'Чем отличается MyISAM от innoDB'

Подписаться на комментарии or TrackBack to 'Чем отличается MyISAM от innoDB'.

  1. еще добавлю: innodb – поддерживает внешние ключи и транзакции(может и не главное отличие, но зато самое существенное) innodb – бд хранится в одном файле, а в myisam – под каждую таблицу свой

    Alex

    26 Окт 09 at 0:18

  2. Да Вы правы

    undr

    26 Окт 09 at 11:59

  3. 1000 колонок на таблицу и 1023 транзакции на квант http://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html

    не бот

    19 Сен 10 at 0:27

Оставьте комментарий