InnoDB的缓存替换策略及其效果
我们开发自己的存储引擎页面缓存替换策略的过程中主要是参考了InnoDB与LRU-K算法。InnoDB缓存替换策略使用分代与LRU相结合的方式。分为old和young两个分代,系统维护old分代占总buffer大小的3/8左右。当一个页面第一次被访问时,是加入到old分代的lru头。并不是每次访问一个页面时就将这个页提到lru的头部,而是在这个页面在LRU中的位置调整后,是否有很多页面已经被替换出去,若有,则将这个页面移到LRU头。系统在每个页记录调整该页在lru中位置当前系统总共替换了多少个数据页,比较页中记录的这个计数与系统全局页替换计数,就可以发现上次调整这个页在lru链表中位置后,系统中又有多少个页被替换,若比较多,则再次调整该页在lru中的位置。由于第一次访问的页被加入到old分代中,因此一次表扫描不会导致young分代中的页被替换出去。
MySQL配置文件例子翻译
2009-01-14 18:23:24 |
才被阅读:1,452 次 |
要评论?
分类: MySQL基础知识 | 发布: OurMySQL | 来源:Hi ! Admin
标签: my.cnf, 翻译, 配置
分类: MySQL基础知识 | 发布: OurMySQL | 来源:Hi ! Admin
标签: my.cnf, 翻译, 配置
mysql配置文件的翻译
MySQL之Covering Index
2009-01-13 10:51:33 |
才被阅读:940 次 |
要评论?
分类: MySQL优化设计 | 发布: OurMySQL | 来源:老王的技术手册
标签: Covering Index
分类: MySQL优化设计 | 发布: OurMySQL | 来源:老王的技术手册
标签: Covering Index
如果你想利用Covering Index,那么就要注意SELECT方式,只SElECT必要的字段,千万别SELECT *,因为我们不太可能把所有的字段一起做索引,虽然可以那样做,但那样会让索引文件过大,结果反倒会弄巧成拙。