Bir fatura ayrıntıları sayfanın bazı ağır kullanıcılar için Gecikmeli

0 Cevap php

Ben bir faturalandırma özeti sayfasında kullanımı mysql + php geliştirdik.

  • (1M): birçok kullanıcı var
  • ışık kullanıcı: 0.99M kullanıcılar: Her az 10K kaydı var
  • Ağır kullanıcı: her biri yaklaşık 1M kaydı var

SQL şöyledir:

SELECT SUM(value_a) A, SUM(value_b) B, SUM(value_c) C
FROM  daily_data_sep_2010
WHERE  user_id='<user_id>'
AND type
IN (
  'type_a',  'typeb'
 )
AND publish_date
BETWEEN  '<start_date>'
AND  '<end_date>'
GROUP BY publish_date
ORDER BY publish_date DESC 

daily_data_sep_2010 tablo türü MyISAM

There are several types of same Queries,but SUM(value_a) A, SUM(value_b) B, SUM(value_c) C are realy same (equal) "WHERE", "GROUP BY" conditions are not same

This screen is very slow for heavy users. Do you have any good solutions?

açıklamak burada

| Masa | türü | possible_keys | anahtar | key_len | ref | satırlar | Extra |

| Daily_data_sep_2010 | ALL | İLKÖĞRETİM, user_id_key, tip, PUBLISH_DATE | | | | 1.059.756 | Kullanma nerede; Geçici kullanma; Filesort kullanma |

I think row size is too large for sum. so I look forward to onother solutions (Hadoop?)

0 Cevap