mysql - berpuluh-puluh juta paging data, apabila offset ternyata lebih besar, bagaimana untuk mengoptimumkan kelajuan?
伊谢尔伦
伊谢尔伦 2017-05-18 10:48:01
0
2
902

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,

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(2)
给我你的怀抱

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

PHPzhong

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.

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