Русские видео

Сейчас в тренде

Иностранные видео


Скачать с ютуб SQL запросы. Режимы блокировки базы данных: как выполняются параллельные транзакции. в хорошем качестве

SQL запросы. Режимы блокировки базы данных: как выполняются параллельные транзакции. 7 лет назад


Если кнопки скачивания не загрузились НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием, пожалуйста напишите в поддержку по адресу внизу страницы.
Спасибо за использование сервиса savevideohd.ru



SQL запросы. Режимы блокировки базы данных: как выполняются параллельные транзакции.

Рубрика SQLite на сайте: http://zametkinapolyah.ru/zametki-o-m... Текстовая версия: http://zametkinapolyah.ru/zametki-o-m... Паблик блога в ВК: https://vk.com/zametkinapolyah Тематическая группа в ВК: https://vk.com/zametki_bd Помощь проекту: WMR: R288272666982 WMZ: Z293550531456 Яндекс.Деньги: 410011531129223 sqlite3 block.db3 -- Создадим таблицу и наполним ее CREATE TABLE table1(a,b,c,d); INSERT INTO table1 VALUES (1,2,3,4); INSERT INTO table1 VALUES (5,6,7,8); INSERT INTO table1 VALUES (9,10,11,12); INSERT INTO table1 VALUES (13,14,15,16); INSERT INTO table1 VALUES (17,18,19,20); INSERT INTO table1 VALUES (21,22,23,24); INSERT INTO table1 VALUES (25,26,27,28); SELECT * FROM table1; -- для примера запустим второй терминал и откроем нашу БД sqlite3 .open block.db3 -- DEFERRED – данный режим блокировки является режимом по умолчанию в SQLite. В режиме DEFERRED SQLite начинает блокировать таблицы только после того, как будет начато выполнение какой-либо команды, при этом другие транзакции могут читать данные из таблицы, но не могут их изменять. -- терминал 1 BEGIN DEFERRED TRANSACTION; -- терминал 2 SELECT * FROM table1; INSERT INTO table1 VALUES (33,34,35,36); -- терминал 1 INSERT INTO table1 VALUES (29,30,31,32); SELECT * FROM table1; -- терминал 2 SELECT * FROM table1; INSERT INTO table1 VALUES (33,34,35,36); -- терминал 1 COMMIT; SELECT * FROM table1; -- терминал 2 SELECT * FROM table1; INSERT INTO table1 VALUES (33,34,35,36); ---------------------------------------------------------------- -- IMMEDIATE – в данном режим происходит блокировка базы данных, как только будет выполнена команда BEGIN. При это режим IMMEDIATE в SQLIte допускает, что другие транзакции могут читать данные из базы данных, но не записывать. -- терминал 1 BEGIN IMMEDIATE TRANSACTION; -- терминал 2 SELECT * FROM table1; INSERT INTO table1 VALUES (37,38,39,40); -- терминал 1 INSERT INTO table1 VALUES (41,42,43,44); SELECT * FROM table1; -- терминал 2 SELECT * FROM table1; INSERT INTO table1 VALUES (45,46,47,49); -- терминал 1 COMMIT; SELECT * FROM table1; -- терминал 2 SELECT * FROM table1; INSERT INTO table1 VALUES (50,51,51,52); ------------------------------------------------------------------- -- EXCLUSIVE – самый высокий уровень блокировки базы данных в SQLite. Режим EXCLUSIVE блокирует базу данных при выполнении команды BEGIN и при этом другие транзакции не могут ни читать данные из базы данных, ни уж тем более изменять данные. -- терминал 1 BEGIN EXCLUSIVE TRANSACTION; -- терминал 2 SELECT * FROM table1; INSERT INTO table1 VALUES (53,54,55,56); -- терминал 1 SELECT * FROM table1; INSERT INTO table1 VALUES (53,54,55,56);

Comments