mysql - des dizaines de millions de pagination de données, lorsque le décalage s'avère plus important, comment optimiser la vitesse ?
伊谢尔伦
伊谢尔伦 2017-05-18 10:48:01
0
2
886

Prenons MySQL comme exemple. Généralement, lorsque la quantité de données est relativement importante, le décalage sera plus important lors de la pagination et l'efficacité des requêtes sera inférieure

.

Par exemple, si une publication contient 2 millions de commentaires et que 10 sont affichés sur chaque page, il y a 200 000 pages. Comment les données doivent-elles être traitées lorsque 200 000 pages sont prises ? Existe-t-il un bon moyen de résoudre cette demande ?

Exemple : NetEase Music, le nombre maximum de commentaires pour une seule chanson est supérieur à 1,4 million et la vitesse de pagination est très bien gérée,

伊谢尔伦
伊谢尔伦

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

répondre à tous(2)
给我你的怀抱

Premièrement, je crois que la façon dont NetEase Music lit les données consiste définitivement à utiliser nosql pour lire les données.
Bien sûr, si la fréquence d'accès à votre table de données n'est pas élevée, vous pouvez toujours lire la base de données directement. Bien sûr, la bibliothèque mysql innodb a une faiblesse en matière de triche, c'est-à-dire que plus le nombre de pages que vous interrogez est grand, plus l'effet est faible. . Nous utilisons donc généralement l'identifiant pour améliorer l'effet de la requête. L'ancienne utilisation de la requête est la limite de 100 000,10. L'utilisation de la requête recommandée est celle où l'identifiant est supérieur à 100 000. Cela garantit l’utilisation de l’index.
Bien sûr, vous pouvez utiliser la forme de sous-tableaux pour réduire les données dans une seule table, améliorant ainsi l'efficacité des requêtes

PHPzhong

Si vous utilisez Redis, vous devez stocker les ID dans la liste, puis utiliser Redis pour obtenir un fragment de la liste, puis utiliser l'ID dans le fragment vers MySQL pour interroger les résultats.

Bien sûr, si vous souhaitez ajouter un tri, il n'y a aucun moyen.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal