cari

Rumah  >  Soal Jawab  >  teks badan

java - 游戏排行实现?

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

巴扎黑巴扎黑2889 hari yang lalu1158

membalas semua(4)saya akan balas

  • 高洛峰

    高洛峰2017-04-17 17:54:39

    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.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 17:54:39

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

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:54:39

    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.

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:54:39

    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

    balas
    0
  • Batalbalas