Почему MYSQL Объясните, показывая почти в два раза больше строк - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть таблица с именем runner, в ней 1159082 строк. Если я сделаю это: ВЫБЕРИТЕ количество (*) от бегуна ГДЕ расид между 20010300 и 20030399; Я получаю 10999, как и ожидалось. Однако, если я выполню объяснение по этому запросу, я получу: Query Explain plan

Почему число обработанных строк составляет 20,98 КБ? В этом диапазоне всего 10999 строк, откуда взялись остальные? Там нет соединения, которое могло пойти не так. Я пробовал это с маленькой таблицей, и число строк правильно, но в этой большой это неправильно. Может ли это быть из-за того, что гонка не является последовательной?

1 Ответ

0 голосов
/ 07 апреля 2020

Спасибо, Нико, да, это ответ на вопрос. Я провел еще несколько экспериментов и обнаружил, что как только дополнительный столбец был добавлен за пределы индекса, предполагаемые строки удвоились. Прочитав этот пост, я полагаю, что это не имеет большого значения, но производительность запросов внезапно упала до минимума, поэтому у меня есть причина взглянуть на объяснение. Мне нужно go вернуться и посмотреть на это снова. Спасибо за вашу помощь.

...