Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ref #1244
InnoDB use LRU list to cache pages, the LRU list is split into old list and new list two parts, when a page is read from disk, it will be added to the new list, when the page is readed again it will be moved to the old list, SQL like
select * from t
will just flush the new part of LRU, this will not decrease the cache hit rate a lot.RocksDB use a LRU list to cache blocks, and use
ReadOptions.fill_cache
to control the behavior of fill cache or not. MyRocks has a session variable namedskip_fill_cache
, the default value is false, it means always fill cache, when user setskip_fill_cache=true
(eg. dump the database), blocks will not fill cache.Currently we fill cache just depend on the operation's type, if it is a scan operation we don't fill cache, and the otherwise we fill cache, this is too rough. We should support configure the behavior of fill cache or not by set session variable.
PTAL @siddontang @ngaut @BusyJay