Ben bir proje, MySQL ve PHP için biraz geç eklemeler ile küçük bir sorun var.
Biz 200.000 satır, atanmış bir kategori ile her ile mysql bir tablo var. Başlangıçta select ifadesi sadece dayalı gerekli öğeleri çekeceği bir yerde bir dizinlenmiş id tarafından fıkra ve sipariş. Çok hızlı.
Ancak biz bazı kullanıcılar select deyimi şimdi hesaplamak gerekir, yani her kategoriye ağırlıkları vermek (yani finansal =% 60, kredi =% 25, sigorta =% 15) ve zamanla sonuçları aşağılamak için bir tickbox imkanını talep vardı nerede yan tümcesi tarafından döndürülen her sonuç için bir değer (kategori * ağırlığı) ve kene kutusu etkinse (eski kategorisi * ağırlıklandırma * 1/days). Daha sonra, bu hesaplanan değerle sipariş sahiptir. Bu her bir sorgu için (~ 10 saniye) yavaş hayal gibi.
Şimdi ben (kullanıcı herhangi bir varyasyonu seçebilirsiniz çünkü) indeksleme için hesaplanan bu değerler tutan bir tablo var nasıl emin değilim burada devam etmek için en iyi yolu nedir emin değilim.
Bu% 80 * kedi gibi (tarihli ağırlık tarafından sırayla) tabii ki farklı olduğu * 1/8days = 0.1 ve% 20 * cat * 1/1day = sıralama (ağırlık, tarihe göre sipariş) denemek ve basitleştirmek Ayrıca eğer sorunları ortaya hangi 0.2 yüksek ama ilk tür yüksek görünmeyecektir.
Ben veritabanı ve kod tam erişime sahiptir. Herkes performansı bozulmadan olmadan pratiklik bu tür başarmak konusunda herhangi bir tavsiye var mı?
Cheers Tüm