select a,sum(b) from c GROUP BY a;
select a from c;
Andaikan volum data jadual c adalah berjuta-juta, maka bagaimana untuk mengoptimumkan kedua-dua keping data ini untuk membuat pelaksanaan lebih cepat. Terima kasih
Tiada cara untuk mengoptimumkan daripada indeks Jika anda menggunakan kumpulan mengikut dan tidak menetapkan keadaan di mana, mysql telah membaca keseluruhan jadual. Dan jika terdapat berjuta-juta data, saya secara peribadi tidak mengesyorkan menggunakan jumlah secara langsung untuk mengira jumlah bilangan setiap a dalam jadual. Pengoptimuman yang disyorkan ialah ini. 1. Tetapkan tugas berjadual, jadual sementara dan jadual statistik 2 Baca jumlah data tertentu dengan kerap, rekod maklumat statistik data tersebut ke dalam jadual statistik, dan tulis nilai id terakhir bagi jumlah data tertentu sebagai rekod. Id akan digunakan sebagai syarat apabila membaca lain kali.
Statistik bersegmen ini boleh memenuhi dua syarat pengoptimuman anda
Tiada cara untuk mengoptimumkan daripada indeks Jika anda menggunakan kumpulan mengikut dan tidak menetapkan keadaan di mana, mysql telah membaca keseluruhan jadual. Dan jika terdapat berjuta-juta data, saya secara peribadi tidak mengesyorkan menggunakan jumlah secara langsung untuk mengira jumlah bilangan setiap a dalam jadual. Pengoptimuman yang disyorkan ialah ini.
1. Tetapkan tugas berjadual, jadual sementara dan jadual statistik
2 Baca jumlah data tertentu dengan kerap, rekod maklumat statistik data tersebut ke dalam jadual statistik, dan tulis nilai id terakhir bagi jumlah data tertentu sebagai rekod. Id akan digunakan sebagai syarat apabila membaca lain kali.
Statistik bersegmen ini boleh memenuhi dua syarat pengoptimuman anda
Mari tambahkan indeks pada medan A dahulu
Cara mengoptimumkan GROUP BY dalam MySQL
Buat indeks komposit (a, b), kedua-dua SQL akan melakukan imbasan indeks
Selain itu, SQL statistik mesti dilakukan dalam perpustakaan laporan khas, dan statistik bermasa dan bersegmen