Решение медленных запросов «SELECT COUNT(*)» в MySQL
Ваш запрос к таблицеchange_event, подсчитывающий строки, превышающие определенный Change_event_id , испытывает значительные задержки. Но почему? Давайте углубимся в возможные причины.
Раскрытие поведения InnoDB
Механизм MySQL InnoDB использует кластеризованные первичные ключи, что означает, что первичный ключ хранится вместе с данными строк на страницах данных, а не чем отдельные индексные страницы. В результате сканирование диапазона, такое как ваше, требует сканирования всех потенциально широких строк на страницах данных. Этот фактор усугубляется столбцом таблицы xml_diff, типом данных TEXT, который еще больше замедляет обработку.
Стратегии оптимизации
Чтобы ускорить запрос, стоит рассмотреть два подхода. :
Дополнительный совет:
Чтобы еще больше повысить производительность, рассмотрите возможность изменения столбцаchange_event_id на bigint unsigned. Этот шаг предотвращает отрицательные значения, а также может упростить обработку.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3