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

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

2 Solutions collect form web for “Поддержка транзакций движка 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, каскадное удаление
  • JDBC против веб-сервиса для Android
  • Тестирование пропускной способности на одном порту
  • MySQLSyntaxErrorException рядом с «?» При попытке выполнить PreparedStatement
  • MySQL - использовать первую букву каждого слова в существующей таблице
  • Лучший тип индексации, когда есть предложение LIKE
  • MySQL: вставить запись, если она не существует в таблице.
  • Экспорт данных MySQL в Excel в PHP
  • MySQL: большой VARCHAR или TEXT?
  • Interesting Posts

    Установленное соединение было прервано программным обеспечением вашей главной машины

    Сбой метода generate_series () в Redshift

    Получает массив байтов из ByteBuffer в java

    Когда вы используете varargs в Java?

    Способы улучшения полноты файлов для восстановления и сканирования данных?

    Анимировать переход между fragmentами

    C ++ cout печать медленно

    Использование отражения для изменения статического финального файла File.separatorChar для модульного тестирования?

    Как получить оптический 5.1-канальный объемный звук Retina MacBook Pro от Logic Pro X

    Android: Как GridView auto_fit находит количество столбцов?

    Как объединить данные из нескольких файлов Excel в один файл Excel или базу данных Access?

    Загрузите и загрузите двоичный файл на / из FTP-сервера в C # /. NET

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

    Обнаружение состояния вызова в iOS4

    Тенденция Android View

    Давайте будем гением компьютера.