文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PostgreSQL中PlannedStmt的跟踪分析

2024-04-02 19:55

关注

这篇文章主要为大家展示了“PostgreSQL中PlannedStmt的跟踪分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PostgreSQL中PlannedStmt的跟踪分析”这篇文章吧。

计划树

二、数据结构

Plan

 
 typedef struct Plan
 {
     NodeTag     type;
 
     
     Cost        startup_cost;   
     Cost        total_cost;     
 
     
     double      plan_rows;      
     int         plan_width;     
 
     
     bool        parallel_aware; 
     bool        parallel_safe;  
 
     
     int         plan_node_id;   
     List       *targetlist;     
     List       *qual;           
     struct Plan *lefttree;      
     struct Plan *righttree;
     List       *initPlan;       
 
     
     Bitmapset  *extParam;
     Bitmapset  *allParam;
 } Plan;

Limit

 
 typedef struct Limit
 {
     Plan        plan;
     Node       *limitOffset;    
     Node       *limitCount;     
 } Limit;

Sort

 
 typedef struct Sort
 {
     Plan        plan;
     int         numCols;        
     AttrNumber *sortColIdx;     
     Oid        *sortOperators;  
     Oid        *collations;     
     bool       *nullsFirst;     
 } Sort;

Append

 
 typedef struct Append
 {
     Plan        plan;
     List       *appendplans;
 
     
     int         first_partial_plan;
 
     
     List       *partitioned_rels;
 
     
     struct PartitionPruneInfo *part_prune_info;
 } Append;

NestLoop

 
 typedef struct NestLoop
 {
     Join        join;
     List       *nestParams;     
 } NestLoop;
 
 typedef struct NestLoopParam
 {
     NodeTag     type;
     int         paramno;        
     Var        *paramval;       
 } NestLoopParam;
 
 
 
 typedef struct MergeJoin
 {
     Join        join;
     bool        skip_mark_restore;  
     List       *mergeclauses;   
     
     Oid        *mergeFamilies;  
     Oid        *mergeCollations;    
     int        *mergeStrategies;    
     bool       *mergeNullsFirst;    
 } MergeJoin;
 
 
 typedef struct HashJoin
 {
     Join        join;
     List       *hashclauses;
 } HashJoin;
 
 
 typedef struct Join
 {
     Plan        plan;
     JoinType    jointype;
     bool        inner_unique;
     List       *joinqual;       
 } Join;

SeqScan

 
 typedef struct Scan
 {
     Plan        plan;
     Index       scanrelid;      
 } Scan;
 
 
 typedef Scan SeqScan;

以上是“PostgreSQL中PlannedStmt的跟踪分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯