I understand that innoDB will store select statement result in the buffer pool, does InnoDB store newly inserted data (insert into statement) into buffer pool even after data has committed and wrote to disk?
- All data and index activity for all InnoDB read and write queries must have the data in the buffer_pool
- The buffer_pool is structured around 16KB blocks, just as the BTrees in tables for data and secondary indexes.
- Blocks are pulled into the buffer_pool when needed by queries.
- Blocks are bumped out of the buffer_pool on (approximately) a least-recently-used bases.
- How fast a block lives in the buffer_pool depends on how fast other blocks get bumped out of the buffer_pool.
- Results of
SELECTsnever go into the buffer_pool. (Well,
INSERT..SELECT..is sort of an exception.)
From those 'facts' you can deduce the answer to your Question, and many more.