Posts Tagged ‘MySQL’

MySQL türkçe desteği: Collation ve character set nedir?

MySQL 4.1′den itibaren türkçe karakter işi karıştı. “SET NAMES latin5″ ile çözdük bu problemi gerçi ama yine de sistemin nasıl çalıştığını bilmezseniz sorun yaşayabilirsiniz. O yüzden MySQL’in karakter seti ve collation hakkında birşeyler yazayım istedim.
Tanımlar
Konuyu kavramak için önce tanımları ele alalım. Bilmemiz gereken iki tanım var: “Character Set” ve “Collation”
Character Set (Karakter Seti)
Adından anlayabileceğiniz [...]

More »

HEAP tablo tipi

MySQL’in çoğu zaman gözden kaçan tablo tipi HEAP’ten bahsedesim geldi bugün. HEAP tipi tabloların özelliği MySQL’in bu tipteki tabloların verilerini doğrudan RAM’de tutması. Dolayısıyla disk I/O’suna bağlı olmadığı için çok yüksek hızda cevap verebilen bir tablo tipi.
Ancak RAM’de olması nedeniyle veritabanı sunucusunun yeniden başlatılması durumunda tüm veri haliyle kayboluyor. Ayrıca çok fazla veri kaydedilmesi durumunda [...]

More »

MySQL Client için işe yarar seçenekler

MySQL client’ının opsiyonlarını hiç detaylı incelememiştim, güzel şeyler var. Mesela my.cnf’ye eklediğim 2 özellik:
pager = more
prompt = ‘(\u@\h) [\d]> ‘
Böylece birden fazla sayfalar için “more” kullanılıyor, prompt’ta da database adı ve username/host yer alıyor. Böylece neye [...]

More »

MySQL’de Performanslı Loglama

Sorun:
FotoKritik’te kullanıcının her bir hareketi kaydediliyor. Şu an için 7000 kullanıcının bile her hareketini loglamak oldukça “iri” bir tabloya sahip olmamıza neden oluyor. O yüzden son 1 ayın loglarını tutuyorduk sadece. O dosya içerisinde bile sorgu yapmak ölüm zira 1 ayda 5-6 milyon satır oluyor…
Çözüm:
Öncelikle, yüksek performansı sıkıştırılabilir olması nedeniyle log tabloları için MyISAM [...]

More »

MySQL Straight Join kullanımı

Günlerdir hatta aralıklarla çalıştığım için haftalardır bir türlü çözemediğim eleştiriler sayfasındaki performans sorununu sonunda buldum.
MySQL iki tabloyu INNER JOIN yaparken anladığım kadarıyla PK’i foreign key olan tabloyu tüm satıların getirildiği ilk tablo yapıyor. Ama eleştiriler sayfasında eleştiri tablosunun ilk olması gerekiyor. JOIN cümlesindeki tabloların yerini tek başına değiştirmek bir işe yaramıyor.
SELECT STRAIGHT_JOIN dedikten sonra doğru [...]

More »