• mysql----innodb统计信息


    对innodb 统计信息的控制可以通过如下几个常用的variables 来实现

    1、innodb_stats_persistent:

      这个参数控制着innodb的统计信息是否持久化到磁盘,先说明一下持久化到磁盘是什么意思;通常来说统计信息只保存在内存中,也就是说如果mysql服务一重启那么之前

      所有的统计信息都没有了,这个情况下mysql就要重新收集&计算了;如果统计信息持久化到磁盘了,那么就可以直接从磁盘中读取;

      为了真正的可以达到红统计信息持久化到磁盘光是innodb_stats_persistent=on是做不到的;innodb_stats_persistent=on 只是说明了打开了mysql把表的统计

      信息持久化到磁盘的能力,但是这个能力用不用不是由表自己说了算;在create table 语句中指定STATS_PERSISTENT=1这个时候表就支持持久化工能了。

      create table t(x int,y int) STATS_PERSISTENT=1;

    2、由1中的描述可知 innodb的表可以分成两大类、一类是支持持久化的表,一类是不支持持久化的表;它们各自的统计信息的收集方式又可以通过不同的变量来控制

    3、innodb_stats_persistent_sample_pages 持久化统计信息的采样页

    4、innodb_stats_transient_sample_pages 非持久化统计信息的采样页

    5、innodb_stats_auto_recalc 变更超过10%的时候要不要自动收集统计信息

    6、innodb_stats_on_metadata 执行show table status | information_schema.tables 时是否自动收集统计信息

  • 相关阅读:
    LCM与GCD算法
    LCS,LIS,LICS算法
    高精度算法(C/C++)
    SystemTap
    VMware15下解决Ubuntu18.04没有网络连接问题
    Git ssh-key 配置问题
    Ubuntu18.04更换国内源
    sql 错误日志存储路径设置
    资源
    System.Data.DataTable 基本方法
  • 原文地址:https://www.cnblogs.com/JiangLe/p/5806007.html
Copyright © 2020-2023  润新知