• innodb行记录和缓冲池


    #努力第五天#row_format:dynamic 大记录 只存20字节指针 指向行溢出页
    compact:先存768 再存20字节 指向溢出页
    页里的记录是怎么关联的呢???
    单向链表,只有next指针
    怎样标识一条记录 heap number 表示插入记录的顺序 是个递增的值
    如果重新整理呢????
    两个伪记录0 1
    heap number存放在记录的record header中
    show engine innodb status\G
    如果heap number等于1 锁住页里逻辑最大的记录
    表里只有一条记录1
    隔离级别设置可重复读
    select * from aa where a>1 for update; 这里会锁住heap number的
    innodb缓存池
    innodb buffer pool
    缓冲池大小与性能的关系如图1


    内存减少10% 性能下降60%
    缓冲池里有一个一个页 (会有区和段吗???)
    读的时候先把页到缓冲池
    如果写呢????
    如果用ssd盘呢???(用sysbench工具测试)
    缓冲池存放的内容
    数据页
    索引页
    change buffer
    innodb_buffer_pool_instances 多个缓冲池 可以配置成cpu的数量 把热点打散 并发更快
    innodb_buffer_pool_stats pool_id 第几个buffer_pool(performance_schema)
    信息多的时候可以用less
    buffer pool
    free list
    LRU List 活跃的页,
    flush list如果页第一次修改 就会放到这里(存放页的指针)根据oldest_lsn进行排序
    buffer pool里的list说明 如图2和图3


    select * from innodb_buffer_pool_stats
    database_pages表示lru list页
    innodb_buffer_page_lru表里page_number字段
    newest_modification (space pageno)最近修改的lsn
    oldest_modification (space pageno)第一次修改的lsn
    5.7版本可以在线调整缓冲池大小
    LRU List是怎么进行管理的
    最近最少使用算法
    midpoint LRU
    3/8 innodb_old_blocks_pct
    新读取的页放到midpoint 如果后面不被读取到 就到old里 慢慢的就被淘汰
    缓冲池污染 bp污染(一个页有很多条记录 记录是一条一条读取的 扫描的话 要读很多次页)
    innodb_old_blocks_time设置一秒钟 超过一秒钟才会放到new 不会立刻放到new
    为了防止全表扫描
    缓冲池里的页是一条记录一条记录读的吗??? 页多读取多次??? 但是磁盘里的页读取到内存是一次性读,按16k读。
    young 从old到new
    缓冲池预热
    使得数据库快速恢复到运行状态
    数据库重启
    数据库服务宕机
    预热方法(这种方法不高效,并不一定能把热点数据加载进来)
    select count(1) from table force index(primary)
    select count(1)from index
    5.6
    先把buffer pool数据dump出来 启动的时候加载(dump出来是什么呢???)space和pageno
    innodb_buffer_pool_dump_now dump lru的
    innodb_buffer_pool_filename 缓冲池文件ib_buffer_pool
    5.7
    innodb_buffer_pool_dump_pct只dump一部分

  • 相关阅读:
    windows7通过Dns.GetHostAddresses(Dns.GetHostName())获得ipv6地址转换到ipv4
    题解 P3829 【[SHOI2012]信用卡凸包】
    点积与叉积
    点分治
    珂朵莉树
    NOIP2020模拟赛(二十五)7.26 结题报告
    树连剖分
    NOIP2020模拟赛(拾)解题报告
    题解 P2538 【[SCOI2008]城堡】
    模拟退火
  • 原文地址:https://www.cnblogs.com/lvjinping/p/9197570.html
Copyright © 2020-2023  润新知