yoklateknik mülakat

Veritabanı Mysql Innodb Transactions Mülakat Soruları

75 doğrulanmış Veritabanı Mysql Innodb Transactions mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Mysql Innodb TransactionsZorluk 1
MySQL'de InnoDB storage engine'inin varsayılan transaction isolation seviyesi nedir?
  • aREAD UNCOMMITTED
  • bREAD COMMITTED
  • cREPEATABLE READ
  • dSERIALIZABLE
Açıklama:InnoDB'nin varsayılan isolation seviyesi REPEATABLE READ'dir; PostgreSQL'in varsayılanı READ COMMITTED'dır. Tekrarlanan consistent non-locking read'ler ilk böyle okumada (ya da START TRANSACTION WITH CONSISTENT SNAPSHOT ile) oluşturulan snapshot'ı kullanır.
Mysql Innodb TransactionsZorluk 2
Bir geliştirici PostgreSQL'den MySQL'e geçiyor ve iki veritabanının da aynı varsayılan isolation davranışına sahip olduğunu varsayıyor. Farkında olması gereken somut fark nedir?
  • aMySQL/InnoDB varsayılan olarak REPEATABLE READ kullanırken, PostgreSQL READ COMMITTED kullanır
  • bMySQL/InnoDB varsayılan olarak READ UNCOMMITTED kullanırken, PostgreSQL REPEATABLE READ kullanır
  • cİkisi de varsayılan olarak READ COMMITTED kullanır, ama MySQL bunu daha katı uygular
  • dİkisi de varsayılan olarak SERIALIZABLE kullanır, ama MySQL bunu session bazında kapatmaya izin verir
Açıklama:InnoDB'nin varsayılan isolation seviyesi REPEATABLE READ, PostgreSQL'inki ise READ COMMITTED'dır. Bu, aynı MySQL transaction'ı içinde tekrarlanan bir SELECT'in, başka transaction'lar arada commit etse bile aynı snapshot'ı görmesi anlamına gelir; PostgreSQL'in varsayılanında ise her ifade en güncel commit edilmiş veriyi görür.
Mysql Innodb TransactionsZorluk 1
MySQL'de açık bir transaction'ı doğru şekilde başlatan ifade hangisidir?
  • aBEGIN TRANSACTION WORK;
  • bSTART TRANSACTION;
  • cOPEN TRANSACTION;
  • dTRANSACTION START;
Açıklama:START TRANSACTION; (veya kısaltılmışı BEGIN;) MySQL'de açık bir transaction başlatmanın standart yoludur. COMMIT veya ROLLBACK'e kadar o transaction için autocommit'i geçici olarak devre dışı bırakır.
Mysql Innodb TransactionsZorluk 2
Yeni bir MySQL oturumunda autocommit sistem değişkeninin varsayılan değeri nedir ve ne anlama gelir?
  • aOFF — her ifade açıkça START TRANSACTION/COMMIT içine alınmalıdır
  • bOFF — ifadeler açık bir FLUSH verilene kadar tamponlanır
  • cON, ama yalnızca SELECT ifadelerine uygulanır, DML'e değil
  • dON — session açıkça START TRANSACTION ile başlatılmadığı sürece her tek SQL ifadesi kendi transaction'ı olarak commit edilir
Açıklama:MySQL oturumları varsayılan olarak autocommit = ON'dur. Bu, tek başına çalıştırılan her ifadenin (ör. tek bir UPDATE), session açıkça START TRANSACTION ile bir çok-ifadeli transaction başlatmadığı sürece, çalıştıktan hemen sonra otomatik olarak commit edildiği anlamına gelir.
Mysql Innodb TransactionsZorluk 2
InnoDB'de mevcut açık transaction içinde yapılan tüm değişiklikleri geri almak için hangi SQL ifadesi kullanılmalı?
  • aUNDO;
  • bROLLBACK;
  • cRESET TRANSACTION;
  • dREVERT;
Açıklama:ROLLBACK;, transaction başladığından beri yapılan tüm değişiklikleri, InnoDB'nin undo log'unu kullanarak önceki satır versiyonlarını geri getirerek geri alır. COMMIT; ise bunun karşıtıdır ve değişiklikleri kalıcı hale getirir.
Mysql Innodb TransactionsZorluk 2
Bir SELECT'in okuduğu satırlar üzerinde exclusive satır kilidi alarak, mevcut transaction bitene kadar başka transaction'ların bu satırları update veya delete etmesini engelleyen SQL ifadesi hangisidir?
  • aSELECT ... FOR UPDATE
  • bSELECT ... WITH LOCK
  • cSELECT ... EXCLUSIVE
  • dSELECT ... FOR EXCLUSIVE READ
Açıklama:SELECT ... FOR UPDATE satırları okur ve üzerlerinde exclusive kilit alır; bu da mevcut transaction commit veya rollback olana kadar başka transaction'ların aynı satırları update, delete etmesini veya (isolation seviyesine bağlı olarak) kilitlemesini engeller.

2475 soruluk Veritabanı bankasında kendini sına.

Mülakata başla