Hoş Geldin, Mühendis!

Tüm mühendislerin ve mühendis adaylarının yer aldığı forum sayfamıza kayıt olmalısınız. Kayıt olduktan sonra tüm ders notlarına, teknik dokümanlara erişim sağlayabilecek, sorularınızı sorup cevaplar verebileceksiniz. Sitemiz tamamiyle ücretsiz olmakla birlikte Mühendis Puanı sistemi uygulamaktadır.

Bilgi paylaştıkça çoğalır.

Premium Abonelik 📢

Premium abonelik ile sitemizi reklamsız gezebilir, dosyaları sınırsızca indirebilirsiniz.

Daha Fazlası

[Muhendisiz.NET] Tekrar Sizlerleyiz! 🎭

Mühendisiz.NET sitesi forum ve blog sayfası olarak tekrar yayın hayatına başladı. 🤩 Sizlerde forum sayfamıza üye olabilir ve mühendis topluluğumuza katılabilirsiniz.

Daha Fazlası

Mühendis Puanı Sistemi🏆

Bilgi paylaştıkça çoğalır felsefesini benimsemiş olmamız nedeniyle Mühendis Puanı sistemini uygulamaya aldık. Dökümanları indirebilmek için bazı paylaşımlarda bulunmalısınız. 📨

Daha Fazlası
  • Dosya indirebilmek için 2 Mühendis Puanına ihtiyacınız var. Konuya yorum atarak 1 MP Not paylaşarak 6 MP kazanırsınız.
    Bilgi Paylaştıkça Çoğalır. (Mühendislik Puanı (MP) Nedir?)
  • Mühendis Puanı kazanmaya vakti olmayanlar için ücretli premium üyelik sistemi aktif edilmiştir.
    (Premium Üyelik SATIN AL)

MySQL Tablo Kilitleme

turkmedia

Moderatör
Katılım
8 Ara 2022
Mesajlar
760
Mühendis Puanı
1,612
Veri tabanı tasarımı sırasında veya daha sonra veri tabanına eklenen özellikler ( , , ,…) performans artışı sağlayabilir.

Veri tabanı boyutu arttıkça eklenen özellikler SELECT, INSERT, UPDATE, DELETE gibi temel işlevlerin yavaşlamasına neden olur.

Çünkü her kayıt eklendiğinde kayıt ekleme, INDEX haritasının yenilenmesi, UNIQUE kontrolü gibi işlemler yapılır.

Ayrıca birden fazla oturum tarafından yapılan benzer işlemlerin yapılması MySQL VTY sisteminin yavaşlamasına neden olur.

MySQL içerisinde bulunan LOCK TABLES özelliği sayesinde tablo bir işlem için bir süreliğine diğer oturumlardan gelen istekleri kuyruğa ekler ve işlemlerin daha hızlı yapılması sağlanır.

Tablo kilitlemek için aşağıdaki ifade kullanılır.

LOCK TABLES tablo_adi READ|WRITE;
READ: Diğer oturumlar tarafından tabloya kayıt ekleme, silme ve güncelleme yapılamaz. Sadece veriler okunur.

WRITE: Diğer oturumlar tarafından tüm istekleri engeller.

Ürün bilgilerinin bulunduğu tabloya kayıt eklemesi yapıldığı sırada tablo kilitleme işlemini yapalım.

Tablo kilitleme işleminin gözlenebilmesi için işletim sistemi komut yorumlayıcısından iki farklı oturum açılması veya farklı iki MySQL aracının kullanılması gerekmektedir.

İlk olarak bir oturumdan aşağıdaki ifade ile tabloyu kilitleyelim.

LOCK TABLES kategoriler WRITE;
Kilitleme işleminden sonra diğer oturumdan aşağıdaki komutu çalıştırdığımızda, komut diğer oturum tarafından kilitlenen tablonun kilidinin açılmasını bekleyecektir.

SELECT * FROM kategoriler;
Tablo kilitleme işleminin yapıldığı oturum tarafından aşağıdaki komut çalıştırıldığında bekleyen işlem hakkında detaylı bilgi görülebilir.

SHOW PROCESSLIST;
Tablo kilidini açmak için aşağıdaki komut veya oturumun kapatılması yeterli olacaktır.

 

Son kaynaklar