Felhasználói eszközök

Eszközök a webhelyen


oktatas:adatbazis-kezeles:tranzakcio

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalon Előző változat
Következő változat
Előző változat
oktatas:adatbazis-kezeles:tranzakcio [2021/10/11 23:07]
admin [Teszttábla létrehozása]
oktatas:adatbazis-kezeles:tranzakcio [2021/10/11 23:25] (aktuális)
admin [Tranzakció]
Sor 4: Sor 4:
  
   * **Szerző:​** Sallai András   * **Szerző:​** Sallai András
-  * Copyright (c) Sallai András, 2014+  * Copyright (c) Sallai András, 2014, 2021
   * Licenc: GNU Free Documentation License 1.3   * Licenc: GNU Free Documentation License 1.3
-  * Web: http://szit.hu+  * Web: https://szit.hu
 ===== Fogalom ===== ===== Fogalom =====
  
Sor 377: Sor 377:
  
 ==== Read Uncommitted ==== ==== Read Uncommitted ====
-Elindítunk ​egy tranzakciót,​ de a befejezés előtt várunk 20 másodpercet.+ 
 +Indítsunk ​egy terminálban egy kapcsolatot:​
 <code mysql> <code mysql>
-start TRANSACTION  ​ +start transaction
-UPDATE tabla1 SET mezo1 2;    +update dolgozok set fizetes=2000;
-select sleep(20); ​   +
-ROLLBACK;+
 </​code>​ </​code>​
  
-A set transaction utasítás egy select erejéig beállítja a read uncommitted ​izolációs ​szintet.+ 
 +Egy másik terminálban,​ vizsgáljuk meg milyen ​izolációs ​szint van beállítva a munkameneten:​
 <code mysql> <code mysql>
-SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; ​   +select @@tx_isolation;
-SELECT * FROM tabla1;+
 </​code>​ </​code>​
  
-==== Read Committed ====+Kérdezzük le a tran adatbázis dolgozók táblájának tartalmát:​ 
 +<code mysql> 
 +select * from dolgozok; 
 +</​code>​ 
 + 
 + 
 +Állítsuk be a **read uncommitted** izolációs szintet a munkamenetre:​
  
-Elindítunk egy tranzakciót,​ de a befejezés előtt várunk 20 másodpercet. 
 <code mysql> <code mysql>
-start TRANSACTION; ​   +set session transaction isolation level read uncommitted;
-UPDATE tabla1 SET mezo1 = 2;    +
-select sleep(20); ​   +
-ROLLBACK;+
 </​code>​ </​code>​
  
-A set transaction utasítás egy select erejéig beállítja a read uncommitted izolációs szintet.+Most kérdezzük le újból:
 <code mysql> <code mysql>
-SET TRANSACTION ISOLATION LEVEL READ COMMITTED; ​   +select ​from dolgozok;
-SELECT ​FROM tabla1;+
 </​code>​ </​code>​
 +
 +Az első lekérdezésnél,​ ha az izolációs szint **repeatable read** volt,
 +az update eredménye még nem látszik. A második lekérdezésnél,​ azonban ​
 +meg kell jelenjen az első terminálon beállított új érték. A 
 +**read uncommitted** izolációs szint működik.
 +
 +
 +
 +
  
oktatas/adatbazis-kezeles/tranzakcio.1633986421.txt.gz · Utolsó módosítás: 2021/10/11 23:07 szerkesztette: admin