Поддержка транзакций движка MyIsam

Я тестировал поддержку транзакций в таблицах innoDB, и просто для curriosity я попытался выполнить ту же транзакцию в таблице MyIsam, и на удивление это сработало. Я предполагаю, что в myIsam table запросы выполняются один за другим не в одной атомной операции, и я не получаю никаких ошибок из операций START TRANSACTION и COMMIT и ROLLBACK. Мне интересно, движок MyIsam просто игнорирует эту операцию или выполняет какие-то действия?

MyISAM эффективно работает в режиме автоматической фиксации (так как это не транзакционный движок), и он просто игнорирует фиксацию / откат.

Фактически, механизм хранения – это другой уровень в архитектуре MySQL, отделенный от анализатора SQL, уровень SQL связывается с механизмом хранения с API нижнего уровня, и именно по этой причине существуют общий SQL и движки, поддерживающие разные подмножества признанных. Здесь вы можете увидеть очень высокий обзор архитектуры здесь

Таблицы MyIsam не были построены для этого. Даже в 5+ версиях. Он предназначен только для хранения данных. Это не дает вам никаких гарантий для транзакций или восстановления данных. Вы должны использовать InnoDB для этого и, при необходимости, использовать MyIsam для целей репликации (быстрее получать данные с помощью таблиц MyIsam, так как нет проверок перекрестных таблиц).

Вы можете прочитать этот пост из MySQL http://forums.mysql.com/read.php?21,68686,69229#msg-69229

  • Поиск MySQL в запятой
  • Является ли первичный ключ автоматически индексированным в MySQL?
  • Как получить реальный размер базы данных MySQL?
  • Показатель Mysql на таблице в 6 миллионов строк
  • MySQL - выбор данных из базы данных между двумя датами
  • MySQL: установка пользовательской переменной из результата запроса.
  • MySQL объединяется с предложением where
  • индексы mysql 5.0 - Уникальные против уникальных
  • «INSERT IGNORE» против «INSERT ... ON DUPLICATE KEY UPDATE»
  • SQLException: не найдено подходящего драйвера
  • Как настроить Tomcat для подключения к MySQL
  • Давайте будем гением компьютера.