MYSQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
MYSQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

3 Mart 2014 Pazartesi

InnoDB ile MyISAM arasındaki farklar

ÖzellikInnoDBMyISAMAçıklama
transactionvaryoksıralı olarak yaptığınız veritabanı sorgularında, işlemleri geri alma, gibi özellikler sunan bir sistem
fulltextyokvarkompleks aramalarda çok işe yarayan bir arama yöntemi
foreign keyvaryokdiğer tablolardan referans olarak anahtar sütunların alınması
relationship constraintsvaryokdiğer tablolardan referansla alınan sütunların yanlış işlemlerde kısıtlama yapması, uyarması vs.
row-level lockvaryoksatırları update,delete gibi işlemlerden koruyabilme özelliği
table-level lockvarvartabloyu update,delete gibi işlemlerden koruyabilme özelliği
ram kullanımıyüksekdüşük
disk footprintyüksekdüşükçalışırken tablolarınızı daha etkin kullanabilmek için oluşturulan dosyaların boyutu
select,countyavaşhızlıbazı sql komutları
insert,updatehızlıyavaşbazı sql komutları
Sonuç olarak tabloda daha çok select, count gibi işlevler kullanılacaksa daha az kaynak tüketimi ve daha hızlı sorgulama için MyISAM tercih edilebilir. Diğer durumlarda ise InnoDB daha avantajlı.

Mysql Server Load Sorunları ve Çözümleri

Bir çok sitede bu konu ile ilgili gerek my.cnf gerekse sunucu optimizasyonu konusunda makalelere baktığınızı umud ederek, yazılımsal olarak sunucu load sorunların bir kaç nacizane öneride bulunacağım..

Öncelikle mysql tablolarınızı kontrol ediniz. MyISAM, InnonDB bunlardan hangisini kullanıdığınızı belirleyin,
bu iki mysql motorunun kendi çaplarında anvantajları veya dezavantajları vardır, kullanacağınız sorgu tiplerine göre bu ikisinden birini kullanmanızda fayda var

Şöyleki bir siteniz var sürekli query lerle veritabanından veri çekiyorsunuz, ve hitiniz de var,  bunun için MyISAM motorunu öneririm çünkü veri çekme işlemlerinde select işlemini çok daha fazla kullanacağımızdan hız bakımından InnonDB den daha iyi verimli olacaktır.

Şayet sürekli veritabanına birşeyler giren, update eden bir yazılımız var ise tabikide tartışmasız innondb bu konuda sizin seçiminiz olmalıdır.

update, ve insert sorgularını MyISAM da mümkün olduğu kadar az hatta hiç kullanmamanızı öneririm, tabiki admin panelinizde kullanabilirsiniz. ancak hitin yoğun bulunduğu sayfalarınızda bu iki tür sorguyu kullanmamaya dikkat etmelisiniz. yada en az kullanmalısınız.

MyISAM motorunda veri sayısı fazla olan tablolarınız arasında join işlemlerini kullanmayınız. Bu extra yük demektir. bunun dışında gereksiz sorgulardan kesinlikle kaçının,

ve select * from tablo şeklinde değilde,

select id,baslik,icerik from tablo şeklinde sutun belirterek querylerinizi kullanmaya bakın.

bunun yanı sıra ezsql gibi veritabanı sınıflarını kullanmanız daha sağlıklı olacaktır. Diğer bir konu Template motoru kullanmamaya bakın..

Dikkat etmeniz gereken en önemli nokta tablolarınızda kullandığınız mysql motorunuzu bilmektir. Bunu öğrenmek için tabloyu düzenleme bölümüne geldiğinizda altta seçenek halinde görebilirsiniz.

Aklıma gelenler şimdilik bu kadar, sizlerinde önerebileceği konular var ise yorumlayarak bizleri de bilgilendirirseniz seviniriz.