Maison > base de données > tutoriel mysql > Comment optimiser les requêtes MySQL avec des décalages LIMIT importants ?

Comment optimiser les requêtes MySQL avec des décalages LIMIT importants ?

Linda Hamilton
Libérer: 2024-11-11 08:35:03
original
323 Les gens l'ont consulté

How to Optimize MySQL Queries with Large LIMIT Offsets?

Optimisation des requêtes MySQL avec des décalages LIMIT importants

Les requêtes MySQL qui utilisent la clause LIMIT avec des décalages importants peuvent rencontrer des problèmes de performances importants. Pour relever ce défi, envisagez la technique d'optimisation suivante :

Approche de la table d'indexation

Plutôt que de récupérer directement les lignes à l'aide d'une clause LIMIT, créez une table d'indexation qui mappe les clés séquentielles aux valeurs de clé primaire dans la table cible. Cela vous permet de récupérer efficacement des données à l'aide d'une INNER JOIN et d'une clause WHERE.

Étapes :

  1. Créer une table d'indexation :

    CREATE TABLE seq (
       seq_no int NOT NULL AUTO_INCREMENT,
       id int NOT NULL,
       PRIMARY KEY(seq_no),
       UNIQUE(id)
    );
    Copier après la connexion
  2. Remplir la table d'indexation :

    TRUNCATE seq;
    INSERT INTO seq (id) SELECT id FROM mytable ORDER BY id;
    Copier après la connexion
  3. Récupérer les données de la table cible :

    SELECT mytable.*
    FROM mytable
    INNER JOIN seq USING(id)
    WHERE seq.seq_no BETWEEN 1000000 AND 1000999;
    Copier après la connexion

En utilisant cette approche, vous améliorez considérablement les performances des requêtes avec des décalages LIMIT importants, vous permettant de récupérer des données efficacement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal