Как ввод-вывод в базе данных связан с типом запроса

#mysql #sql #query-optimization #database-performance

#mysql #sql #оптимизация запросов #база данных-производительность

Вопрос:

Итак, у меня есть показатели, которые выглядят следующим образом.

И вот мой немой вопрос… Связан ли ввод-вывод rw напрямую с запросом rw?

Используя приведенный ниже пример, означает ли это, что активность запросов на чтение увеличилась?

У меня еще не включены некоторые флаги для определения показателей на уровне транзакций, но в конечном итоге я это сделаю, так что пока это черный ящик.

введите описание изображения здесь

введите описание изображения здесь

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

1. Означает ли всплеск ввода-вывода на чтение, что это запрос на чтение, а не на запись? Я не уверен, что еще вам нужно для этого вопроса, кажется простым.

2. Каждый запрос на запись также должен быть прочитан, чтобы знать, куда записывать. Но может происходить что угодно. Я сказал вам, что нам нужно, вы не предоставили запрос, так откуда же мы можем знать? Если вы не знаете, какие запросы выполняются, запустите трассировку сервера, чтобы узнать, что происходит

Ответ №1:

Это не обязательно означает, что это был результат запроса на чтение.

Даже если это была запись, InnoDB может изменять страницы данных только после того, как они были скопированы из хранилища в пул буферов InnoDB (т. Е. В ОЗУ). Любой доступ к строкам данных или индексам осуществляется в пуле буферов. Затем измененная страница в ОЗУ в конечном итоге сбрасывается в хранилище.

Запросы на чтение и запись могут не вызывать ввод-вывод на чтение, если они действуют на страницах, которые ранее были загружены в пул буферов. Вы видите ввод-вывод чтения только тогда, когда запросу требуется доступ к странице, которой еще нет в пуле буферов. Затем страница загружается по требованию.

Итак, запрос на запись, такой как:

 UPDATE mytable SET somecolumn = 'value' WHERE id = 8675309;
 

может потребоваться ввод-вывод на чтение, потому что страницы, содержащей эту строку, до этого момента не было в пуле буферов.