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?)