PHP ve MySQL kullanarak bir sıralaması sayfa optimize

0 Cevap php

Gerçekten sıralaması görüntülemek için kullanılan web sitemde bir tablo optimize biraz yardım kullanabilirsiniz. Ben sorguları ve nasıl düzgün dizin kullanmak, ama ben bile işe yarayacağını düşündüm değişiklikleri uygulamaya sonra, biraz düzelme görülebilir optimize etmek nasıl bir çok okuma olmuştur. Benim hızlı düzeltme şimdi hızını artırmak için sadece üst sıralarda 100.000 (günlük olarak güncellenen ve farklı bir tabloda depolanan) kullanmak için basitçe olmuştur, ama ben gerçekten bu seçeneği sevmiyorum.

Yani şey gibi görünüyor kullanıcılar için bilgileri depolayan bir tablo var:

tablo 'cache':

id    (Primary key)
name
region
country
score

Orada kullanıcı hakkında depolanan diğer değişkenler, ama onlar sıralamasında kullanılmadığı gibi burada alakalı olduğunu sanmıyorum.

Bir kullanıcı görebilirsiniz 3 temel sıralama sayfaları vardır:

Bir dünya görüşü:

SELECT cache name,region,country,score FROM cache ORDER BY score DESC LIMIT 0,26

Bir bölge görünümü:

SELECT name,region,country,score FROM cache WHERE region='Europe' ORDER BY score DESC LIMIT 0,26

ve bir ülke görünümü:

SELECT name,region,country,score FROM cache WHERE region='Europe' AND country='Germany' ORDER BY score DESC LIMIT 0,26

Ben veritabanı için çalışmalarını hafifletmeye yardımcı olmak için aklınıza gelebilecek indekslerinin hemen hemen her kombinasyonu denedim, ve bazı biraz yardımcı görünüyor ise ben sadece her iki {[(0)] 26 satır dönecektir birini bulamıyorum } ('puan' üzerine sadece bir dizin ile dünya sıralamasında hızlı yanan vardır).

Ben temel bir şey eksik olabilir gibi hissediyorum, herhangi bir yardım çok duyacağız!

Biraz ekstra bilgi: önbellek tablosu şu anda 800,000 satırları toplamda biraz daha etrafında 920 megabayt. Eğer daha fazla bilgi kullanabilirsiniz varsa, sadece bana bildirin.

0 Cevap