主表、存储层、优化器 这3者的统计信息有什么区别? 生成SQL执行计划时采用的是哪层的统计信息

原来的回答可能比较误解

  1. 对于dba user来说,只需要关注当前的对外展示视图的column_stat和table_stat就好了
  2. 对于更进阶或内核开发者,则需要关注优化器的代价模型中统计信息的用途,对这个感兴趣可以在网上搜到非常多的学习资料

最后回到你的问题

  1. 主表,存储层,优化器三者的统计信息?这个问题是有问题的,没有这种说法,统计信息就是统计信息,目前ob的代价模型的估行主要用到统计信息,存储层估行,动态采样,其中存储层估行是oceanbase特有的
  2. 生成计划的话就是根本具体的sql的情况,结合统计信息,存储层估行,动态采样进行估行生成计划