Patch That mimic having multiple buffer pools by using different LRU's

Registered by MadMatt

Instead of keeping 1 LRU list, try and create a number of LRU lists and assign tables to each list. For ease of use this would require file per table. Externally you could expose the size of the LRU list in either bytes or in page number. Lets say you have 3 LRU's, 1 default, 1 set to 1G, and 1 set to 3G. With a buffer pool of 8G this means the default LRU would contain no more then 4G worth of data, while the others would use 1G and 3G ( translate this into 16K pages obviously ). You then assign tables ( either through an alter or through a comma separated list in the my.cnf ) to the 2 non-default LRU's. Internally we check an array/list/hash before we LRU page and only add/remove pages from the LRU the table is assigned. This essentially means we have a poor mans version of multiple innodb buffer pools.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Low
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.