• 临时表的统计信息


    与持久表一样,优化器创建并维护临时表的分布统计信息y(distrubution statistics)(列值的直方图),并跟踪他的基数(cardinality)(唯一值的个数)。当索引临时表时,这种能力尤其重要,当优化器需要评估选择性(selectivity)时,它就可以根据这些分步统计信息生成经过优化的计划,这是临时表在性能方面不同于表变量的主要特性之一。

    此外,临时表会维护统计信息,如果从上次编译后被引用的表有了足够多的行发生变化(即达到重新编译的阀值(recompilation threshold)),代码就会被重新编译。重新编译的阀值(RT)是根据表类型和行数计算得出的,对持久表来说,如果n<=500,则RT=500(n=编译查询计划时表的基数);如果n>500,则RT=500+0.20*n。对于临时表,如果n<6,则rt=6,如果6<=n<=500,则RT=500;如果n>500,则RT=500*0.20*n。

    例如,向临时表中加载6行后,如果再增加第七行,将导致重新编译,而持久表则很晚才会出现第一次重新编译。如果要查询临时表时使用和持久表相同的重新编译阀值,使用KEEP PLAN查询提示即可。

  • 相关阅读:
    my.cnf
    js日期和毫秒互转
    传送门
    js 十进制转十六进制
    关键字
    常见异常
    Map迭代
    Hibernate

    MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flushhosts' 解决方法
  • 原文地址:https://www.cnblogs.com/Junelee1211/p/2139075.html
Copyright © 2020-2023  润新知