MySql Performans İşlemleri

Değerli dostlar merhabalar, bu dersimizin konusu MySql veritabanımızda performans arttırmak olacak.

Öncelikle MySql veritabanımızda Big Datalar ve Sunucumuzda problem olmadıkça MySql veritabanımız yavaşlamaz .Projemiz büyüdükçe ve web sayfamız trafik aldıkça Sunucumuz ve MySql veritabanımız şişer ve yorulmaya başlar.

Böyle durumlarda yapmamız gereken adımlar mevcuttur.

Projenizde Cache Kullanın

Cache bir ön belleklemedir. Örneğin sürekli veritabanından kayıtlar listelediğimizi düşünelim. Bu işler her defasında MySql veritabanımıza istek gönderip cevap almaktadır.

Cache kullandığımızda ise kullanıcı veri görmek istediğinde yazılım ön bellekleme yapacaktır ve MySql veritabanımıza istek göndermeden ön bellekte yer edinmiş verileri kullanıcıya döndürecektir.

Event-Scheduler Varsa Kapatın

MySql veritabanımız Cron Job gibi zamanlı işlemler yapabilmektedir. Ama bu işlemleri yaparken veritabanı üzerine yük bindirmektedir. Eğer ki bu özelliği kullanıyorsanız kapamanızı tavsiye ederim. Bu özelliği kapamak için aşağıdaki Sql kodunu kullanabilirsiniz.

SET GLOBAL event_scheduler="OFF"

MySql Tablo Kilitleme

Yapılan her SELECT, INSERT, UPDATE ve DELETE işlemleri veritabanı ve tablolar üzerine yük bindirir. LOCK yani tablo kilitleme sayesinde tablo bir işlem için diğer oturumlardan gelen istekleri işlem kuyruğuna ekler. Tablo kilitlemek için aşağıdaki kodumuzu inceleyelim.

LOCK TABLES tablo_adi READ|WRITE;

Bu şekilde diğer oturumlardan gelen veri ekleme güncelleme ve silme gibi işlemler yapılamaz. Sadece veriler okunabilir. Tablo kilidini açmak için ise aşağıdaki kodu yazmamız yeterli olacaktır.

UNLOCK TABLES;

MySql Partition Kullanımı

Tablomuzda veriler arttıkça bu da veritabanımız üzerinde yük yapmaktadır. Örneğin 5000 kayıt vardır. Bu kayıtları listelemek istediğimizde parti numarası vermek daha mantıklı olacaktır. Bu 5000 kaydı 5 partiye bölmek gibi düşünülebilir. Kayıt görüntülenmek istendiğinde parti parti göstermek daha mantıklı olacaktır.

DEVAMI GELECEKTİR:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Shares