Увеличение операций со строками InnoDB

#mysql #join #row #innodb

#mysql #Присоединиться #строка #innodb

Вопрос:

Мы почти удвоили операции со строками InnoDB (чтение строк) после изменения.

У меня вопрос, что именно представляет это число. Это строки, возвращаемые из запросов, или это количество строк, затронутых запросами в разных таблицах. Мы ввели новые таблицы для объединения. Это не должно было изменить количество возвращаемых строк, но, очевидно, количество затронутых строк в разных таблицах.

Спасибо за помощь.

Ответ №1:

На уровне механизма хранения (например, InnoDB) прочитанные строки относятся к физическим строкам, считанным из каждой таблицы. Эти строки возвращаются механизмом хранения на уровень SQL MySQL, где они объединяются или отфильтровываются условиями в вашем запросе.

Поэтому вполне логично, что ваш показатель чтения строк будет увеличиваться при присоединении к новой таблице. Это подсчет строк, считываемых из каждой таблицы.

Комментарии:

1. Спасибо за ответ, это именно то, что я искал.

2. Билл, я думаю, что при использовании ICP строки не обязательно возвращаются на уровень обработчика. Подсчеты на этом уровне поступают из коллекции STATUS значений в Handler_read% .

3. Вероятно, вы правы. Но в любом случае это подтверждает идею о том, что общее количество — это строки, считываемые из каждой таблицы, а не строки результирующего набора.

Ответ №2:

Вы можете попробовать использовать EXPLAIN , чтобы проверить, как ведет себя ваше соединение. Для понимания формата вывода см. Здесь и здесь