На правах рекламы: Скрапбукинг магазин краснодар - товары для скрапбукинга hobbyhappy.ru. .
http://gazenergoproekt.ru/ цена проектирования систем вентиляции.

ТОП-10 популярных


НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...


Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...

Internet2, или cтарые песни о новом
Когда-то на заре Интернета, тогдаеще военно-научной сетиAPRAnet, были заложены основныепринципы функционирования«Сети сетей». В их числе — использованиепротокола, называемого сейчасIPv4. В...

Спонсор статьи: Кухня адель купить кухню dybok.com.ua.

Все о MySQL. Управление поведением транзакции


28-12-2009

MySQL имеет в своем арсенале две переменные, позволяющие управлять транзак­циями, - AUTOCOMMIT и TRANSACTION ISOLATION LEVEL. Мы обсудим их подробнее в следующих разделах.
Автоматическое выполнение транзакции
По умолчанию MySQL сразу же выполняет каждый SQL-запрос. Этот режим работы называется режимом автовыполнения и является причиной того, что каждый сеанс MySQL не требуется начинать операторами START TRANSACTION или завершать операторами COMMIT или ROLLBACK. Или другими словами, MySQL рассматривает каждый запрос как транзакцию, состоящую из одного оператора.
Это стандартное поведение можно изменить, манипулируя переменной AUTOCOMMIT, которая управляет режимом автовыполнения MySQL. Следующий фрагмент демонст­рирует отключение стандартного поведения MySQL, заключающегося в выдаче команды COMMIT после каждого SQL-оператора.
Листинг 12.10.
mysql> SET AUTOCOMMIT = 0;
Query OK, 0 rows affected (0.02 sec)
После этого любое изменение в таблицах не будет сохранено в базе данных до тех пор, пока не поступит команда завершения транзакции COMMIT. В действительности, если за­вершить сеанс MySQL без команды COMMIT, база данных автоматически запустит ко­манду ROLLBACK для того, чтобы отменить все изменения, сделанные во время этого се­анса, отменяя тем самым всю работу, проделанную во время сеанса. Это можно проил­люстрировать на следующем примере.
Листинг 12.11.
mysql> SET AUTOCOMMIT = 0;
Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM gallery; Empty set (0.00 sec)
mysql> INSERT INTO gallery (id, filename, dsc) VALUES (52, 'dog.gif', 'Me and my pooch');
Query OK, 1 row affected (0.00 sec)
mysql> exit
Bye

Больше скорости
Плохая производительность MySQL зачастую бывает вызвана большим количеством небольших обновлений совместно с активизированным режимом автовыполнения.
А теперь запустим новый сеанс.
Листинг 12.12.
[user@host] $ mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 14 to server version: 4.0.12-max-debug 
mysql> SELECT * FROM gallery;
Empty set (0.01 sec)
Режим автовыполнения всегда можно включить вновь, вернув переменную AUTOCOMMIT в ее исходное состояние.
Листинг 12.13.
mysql> SET AUTOCOMMIT = 1;
Query OK, 0 rows affected (0.00 sec)
При включении режима автовыполнения, MySQL автоматически выдаст команду COMMIT и сохранит все открытые транзакции.
Получить текущее значение переменной AUTOCOMMIT можно в любой момент с по­мощью оператора SELECT.
Управление поведением транзакции
Переменная AUTOCOMMIT является сеансовой переменной и по умолчанию при за­пуске сеанса нового клиента имеет значение 1. На момент написания этой книги еще не была предусмотрена возможность задавать по умолчанию значение этой переменной, равное 0. Более подробную информацию об изменении и просмотре переменных сервера можно получить в главе 13, "Администрирование и настройка".
Ошибочный тип
Переменная AUTOCOMMIT воздействует только на таблицы, поддерживающие работу с транзакциями. При работе с такими таблицами, например MyISAM, переменная AUTOCOMMIT не оказывает никакого влияния и изменения в таких таблицах всегда сохраняются сразу же.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Жизненный цикл транзакции. Продолжение. Все о MySQL. Уровни изолированности транзакций