java - 游戏排行实现?
巴扎黑
巴扎黑 2017-04-17 17:52:39
0
4
1152

实现一个排行榜显示当前我的排行名次,还有我前5名和我后5名;
数据量几十万,用mysql,按表里一个score字段排序,怎么sql才没有效率问题?

巴扎黑
巴扎黑

membalas semua(4)
小葫芦

Jumlah data ialah ratusan ribu Gunakan mysql untuk mengisih mengikut medan skor dalam jadual... Semak dan ludah setiap kali Cakera IO sahaja sudah cukup untuk anda, dan tidak perlu mempertimbangkan kecekapan pertanyaan SQL.
Tidak perlu mempertimbangkan isu prestasi dengan data sejuk, saya rasa ini adalah data panas. Jangan gunakan mysql untuk menyemak, gunakan redis, ia boleh dilakukan dengan mudah dengan SortedSet.

洪涛

Dalam kes ini, masalah kecekapan tidak dapat diselesaikan di peringkat SQL

伊谢尔伦

Eksport data dan gunakan bahasa pengaturcaraan untuk melaksanakan algoritma pengisihan pantas Anda tidak boleh mengharapkan SQL melaksanakan pelbagai algoritma pengisihan dengan cekap dan hanya menggunakannya.

伊谢尔伦

Topik ini menarik, tetapi adakah anda mempunyai soalan yang mencukupi? Oleh kerana jumlah data adalah ratusan ribu, jika kita hanya mengisih mengikut markah, kebanyakan orang mungkin mempunyai skor yang sama Walaupun markahnya setinggi berjuta-juta, 5 teratas dan 5 terbawah mungkin semua mempunyai skor yang sama.

Sebagai contoh, permainan semasa dari Tencent semuanya berada dalam kalangan rakan-rakan Ini satu lagi masalah, ia sangat teknikal

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan