Veri tabanı tasarımı sırasında veya daha sonra veri tabanına eklenen özellikler (
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.
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.
Konuya eklenmiş linkleri görmek için kayıt olmalısınız.
,
Konuya eklenmiş linkleri görmek için kayıt olmalısınız.
,
Konuya eklenmiş linkleri görmek için kayıt olmalısınız.
,…) 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.
READ: Diğer oturumlar tarafından tabloya kayıt ekleme, silme ve güncelleme yapılamaz. Sadece veriler okunur.LOCK TABLES tablo_adi READ|WRITE;
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.
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.LOCK TABLES kategoriler WRITE;
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.SELECT * FROM kategoriler;
Tablo kilidini açmak için aşağıdaki komut veya oturumun kapatılması yeterli olacaktır.SHOW PROCESSLIST;
UNLOCK TABLES;