Rumah  >  Soal Jawab  >  teks badan

mysql - berpuluh-puluh juta paging data, apabila offset ternyata lebih besar, bagaimana untuk mengoptimumkan kelajuan?

Ambil mysql sebagai contoh Secara amnya, apabila jumlah data agak besar, offset akan menjadi lebih besar apabila paging digunakan, dan kecekapan pertanyaan akan menjadi lebih rendah

Sebagai contoh, jika siaran mempunyai 2 juta komen dan 10 dipaparkan pada setiap halaman, terdapat 200,000 halaman Bagaimana data harus diproses apabila 200,000 halaman diambil?

Contoh: Muzik NetEase, bilangan maksimum komen untuk satu lagu adalah lebih daripada 1.4 juta, dan kelajuan paging dikendalikan dengan baik,

伊谢尔伦伊谢尔伦2712 hari yang lalu836

membalas semua(2)saya akan balas

  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:50:01

    Pertama, saya percaya bahawa cara NetEase Music membaca data pastinya menggunakan nosql untuk membaca data.
    Sudah tentu, jika kekerapan capaian jadual data anda tidak tinggi, anda masih boleh membaca pangkalan data secara langsung Sudah tentu, perpustakaan mysql innodb mempunyai kelemahan menipu, iaitu, semakin besar bilangan halaman yang anda tanya, semakin kecil kesannya. . Jadi secara amnya kami menggunakan id untuk meningkatkan kesan pertanyaan Penggunaan pertanyaan lama adalah had 100000,10 Penggunaan pertanyaan yang disyorkan adalah di mana id > Ini memastikan penggunaan indeks.
    Sudah tentu, anda boleh menggunakan bentuk sub-jadual untuk mengurangkan data dalam satu jadual, dengan itu meningkatkan kecekapan pertanyaan

    balas
    0
  • PHPz

    PHPz2017-05-18 10:50:01

    Jika anda menggunakan redis, anda harus menyimpan ID dalam senarai, kemudian gunakan redis untuk mendapatkan serpihan senarai, dan kemudian gunakan ID dalam serpihan ke mysql untuk menanyakan keputusan.

    Sudah tentu, jika anda ingin menambah pengisihan, tidak ada cara.

    balas
    0
  • Batalbalas