İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Mysql Tablo Yapıları ve Mysql Load Sorunu Çözümleri

KrmYlmz

0
İyinet Üyesi
Katılım
3 Kasım 2014
Mesajlar
274
Reaction score
0
Merhabalar, birçok web yazılımcının sorunları arasında olan mysql sorunları ve tablo yapılarından bahsedeceğim, Bir sunucunun en yüksek kaynak tüketimi mysql ise orada bir optimizasyon sorunu var demektir.

Öncelikle sorgularınızı sadeleştirmenizi önereceğim, bu konuyu zaten birçok yerde okumuşsunuzdu o nedenle üzerinde durmayacağım.
Bir tablodan veri çeken bir sorgunuzda select * from şeklinde değilde, select id,baslik,title from şeklinde ihtiyacınız olanları belirtiniz. tablodaki tüm sutunları dahi çekseniz bunu belirtmeniz sorgularınıza bir nebze katkı sağlayacaktır.
Diğer bir konu sorgularınızda kullandığınız join ler, veri sayısı çok olan tablolarınız arasında join işleminden kaçının. bunun yerine tek sorguda halletmek yerine 2 veya daha fazla sorgu kullanmanız yararınıza olacaktır. Veri sayısının az olduğu tablolarınız arasında ise join kullanmanız yararınıza olacaktır.
Sorgularınızın en verimli şekilde çalışabilmesi için en can alıcı nokta tablolarınızın yapılarında gizlidir. MyIsam ve Innodb bu iki mysql motoru arasında çok ciddi farklar vardır. ve tablonuzda yapacağınız işleme göre yapıyı belirtmeniz sorgularınızın hızını ciddi miktarda artıracaktır.

MyIsam -> select, count işlemlerinde en iyi performansı alırsınız.
Innodb -> insert,update işlemlerinde en iyi performansı alırsınız.

Şöyle bir kurgulama yapalım, bir içerik tablonuz mevcut, baslik,icerik,hit gibi sutunlar mevcut, tablonuzun mysql motoru MyIsam olduğunu varsayalım,
içerikleri ekrana basmak için select, hit bilgisini güncellemek içinse update kullanacağız, Tablonuzda ki veri sayısı çok ise şayet ciddi miktarda sorun olacaktır. çünkü MyIsam motoru update ve insert işlemlerinde çok aşırı bir yavaşlığa neden olacaktır.
Bu durumda tablonun motoru Innodb olmalı, MyIsam da ki kadar hızlı bir select olmayacaktır ama en azından loadınızı düşürecektir. Eğer hit diye bir sutunumuz olmasaydı, en iyi verim alacağımız mysql motoru MyIsam olacaktı,
Örneğin Çok veri barındıran bir tabloda arama işlemi yaptıracağız, seleck like, Bu durumda en iyi cevap alabileceğimiz mysql motoru MyIsam olacaktır.

Bütün bunların yanı sıra sorgu sayılarınızı en aza indirmeniz sisteminize daha kolaylık sağlayacaktır.
Saygılarımla...
Kerem Yılmaz
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst