Le problème en question concerne un "SELECT COUNT" considérablement lent (*)" requête dans MySQL, même lorsqu'une clause "WHERE" est appliquée. Pour relever ce défi, il est crucial de comprendre le mécanisme de stockage de MySQL.
InnoDB, le moteur de stockage utilisé dans cette instance, utilise des clés primaires en cluster. Cela signifie que la clé primaire est stockée à côté de la ligne de données dans les mêmes pages de données, plutôt que dans des pages d'index distinctes. Par conséquent, effectuer une analyse de plage sur une clé primaire en cluster nécessite d’analyser toutes les lignes, y compris leurs valeurs de colonnes potentiellement larges. La table en question contient une colonne TEXT, ce qui aggrave encore le problème de performances.
Pour optimiser cette requête, envisagez les stratégies suivantes :
Pour améliorer davantage les performances, envisagez de modifier la colonne "change_event_id" en être "BIGINT UNSIGNED" s'il incrémente à partir de zéro. Ce changement peut entraîner une réduction des besoins en stockage et une amélioration des performances.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3