• 07-08-2009, 22:42:25
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    arkadaşlar merhaba
    öyle bi sorunum var ki cevabını hiç bir yerde bulamadım. bir sitenin bir db si vardı. kayıtlardan dolayı 2gb civarında. bir sql sorgusu 4-5 hatta sorgusuna göre 7-8 saniye sürüyor. bunu tablolara bölüp, her tabloyu ayrı bir db yapıp farklı server larda tutup mysql i rahatlatmak ve siteyi daha hızlı çalıştırmak istedik. fakat çift sorgularda takıldım. öyleki biri bir db de diğeri başka dbde iki tabloyu tek sorguda halletmem gerekiyor. bu sorguları bölme yoluna gittim, bu defa sayfa 60-70sn de açılmaya başladı. normalde 1-2 sn dürüyor.
    sorgu aşağıdaki gibidir. bunu nasıl çözebilirim?
    $getStoreUsers = mysql_query("SELECT count(a.id) AS c_id, u.id AS u_id FROM auctions a, users u WHERE 
    a.active=1 AND a.closed=0 AND a.deleted!=1 AND a.ownerid=u.id AND u.active=1 AND u.aboutpage_type=2 AND a.listin!='auction' GROUP BY u.id") or die(mysql_error());
    şimdiden çok teşekkür ederim.
  • 09-08-2009, 11:39:50
    #2
    tablolara bölmek iş değil. mysqllin partition desteği var 5.0 dan sonrası için. yeni bir partitionlu tablo oluşturup. huge tabloyu yeni oluşturduğuna aktarırsan epey rahatlar. Birde sorguda geçen alanları da indexlersen iyi olur. Kullandığın makinenin rami de önemli. Tabloları bölmek yerine partition tablo oluşturmayı araştır derim.