Публикация на тему

InnoDB в MySQL


В публикации рассматривается движок InnoDB, который начиная с 2010 года используется в MySQL как движок по умолчанию.



Автор

Михалькевич Александр Викторович


Публикация

Наименование InnoDB в MySQL

Автор А.В.Михалькевич

Специальность В публикации рассматривается движок InnoDB, который начиная с 2010 года используется в MySQL как движок по умолчанию.,

Анотация

Anotation in English

Ключевые слова

Количество символов 3510

Содержание

Введение

1 Особенности InnoDB

Начиная с 2010 года в MySQL 5.5 движок хранения данных InnoDB является основным движком в MySQL, и используется по умолчанию. Отличительными особенностями этого движка являются:

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

Существует несколько вариантов блокировки: табличная и построчная. При табличной блокировке блокируется и становится недоступной вся таблица. При построчной - только строка. InnoDB поддерживает построчную блокировку.

Может возникать проблема конкурентности, или взаимоисключающие транзакции. Для решения таких проблемм, в InnoDB имеется специальный механизм увеличения конкуретности - Myltiversion Concurency Control, задача которого повысить изолированность запросов. Всего существует 4 уровня изолированности:

  1. READ UNCOMMITED
  2. READ COMMITED
  3. REPEATABLE READ
  4. SERIALIZABLE

По умолчанию используется REPEATABLE READ, который блокирует возможность простого чтения, чернового чтения и неповторяющегося чтения. Однако не блокируется возможность фантомного  чтения.

2 Статус таблиц

Для получения информации о таблице, в MySQL имеется специальная команда

mysql> SHOW TABLE STATUS LIKE 'user'

Данная команда покажет всю известную информацию о движке, формате строк, количестве строк, объеме, времени обновления и создания таблицы, и прочее

3 Преобразование таблиц

Преобразование таблицы из одного движка в другой можно осуществить с помощью специальной команды ALTER TABLE.

mysql> ALTER TABLE users ENGINE=InnoDB

Заключение

Список использованных источников

Приложения