To improve performance, you can partition the database cache (buffer pool) into segments that are cached independently. Specific tables or ranges of tables can be assigned to use a specific portion of the cache. When an SQL statement accesses a portion of table that is assigned to a specific cache segment, all operations in that query are cached into the same cache segment.
Using cache segment partitioning can be beneficial in situations where you can classify data into parts that do not interfere with each other. For example, if your application accumulates a lot of history data that is queried occasionally, you might not want the occasional queries to flush all cache pages and slow down the responses to regular queries. If you assign the history data to dedicated cache segments, you can limit the maximum cache size that the occasional queries can use and ensure that the regular queries have sufficient cache capacity. When the occasional queries are not being run, the segmented cache parts are released for use by the regular queries.