无法在postgresql中使用插入选择进行查询如何解决

  介绍

无法在postgresql中使用插入选择进行查询如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

换用创建表或者选择进入或者导入导出。

首先跟踪如下查询语句的执行计划:

select  count(*),得到test  t1, test1  t2  where  t1.id =, t2.id ;   postgres=#, explain  analyze  select  count(*),得到test  t1, test1  t2  where  t1.id =, t2.id ;   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,QUERY  PLAN ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,   -------------------------------------------------------------------------------------------   Finalize  Aggregate (成本=34244.16,34244.17,行=1,宽度=8),(actual 时间=683.246,715.324,行=1,循环=1)   →,才能Gather (成本=34243.95,34244.16,行=2,宽度=8),(actual 时间=681.474,715.311,行=3,循环=1)   ,,,,Workers 计划:2   ,,,,Workers 启动:2   ,,,,,,Partial  Aggregate (成本=33243.95,33243.96,行=1,宽度=8),(actual 时间=674.689,675.285,行=1,循环=3)   ,,,,,,,,,Parallel  Hash  Join (成本=15428.00,32202.28,行=416667,宽度=0),(actual 时间=447.799,645.689,行=333333,循环=3)   ,,,,,,,,,,Hash 电导率:,(=t1.id  t2.id)   ,,,,,,,,,,,,Parallel  Seq  Scan 提醒test  t1 (成本=0.00,8591.67,行=416667,宽度=4),(actual 时间=0.025,74.010,行=333333,循环=3)   ,,,,,,,,,,,,Parallel  Hash (成本=8591.67,8591.67,行=416667,宽度=4),(actual 时间=260.052,260.053,行=333333,循环=3)   ,,,,,,,,,,,,,桶:,131072,批次:,16,Memory 用法:3520 kb   ,,,,,,,,,,,,,,,Parallel  Seq  Scan 提醒test1  t2 (成本=0.00,8591.67,行=416667,宽度=4),(actual 时间=0.032,104.804,行=333333,循环=3)   ,Planning 时间:0.420,女士   ,Execution 时间:715.447,女士   (13,行)

可以看到走了两个工人。

下边看一下插入选择:

postgres=#, explain  analyze  insert  into  va  select  count(*),得到test  t1, test1  t2  where  t1.id =, t2.id ,,,,,,   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,QUERY  PLAN ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,   -------------------------------------------------------------------------------------------   Insert 提醒va (成本=73228.00,73228.02,行=1,宽度=4),(actual 时间=3744.179,3744.187,行=0,循环=1)   →,才能Subquery  Scan 提醒“* SELECT *“,(成本=73228.00,73228.02,行=1,宽度=4),(actual 时间=3743.343,3743.352,行=1,循环=1)   ,,,,,,Aggregate (成本=73228.00,73228.01,行=1,宽度=8),(actual 时间=3743.247,3743.254,行=1,循环=1)   ,,,,,,,,,Hash  Join (成本=30832.00,70728.00,行=1000000,宽度=0),(actual 时间=1092.295,3511.301,行=1000000,循环=1)   ,,,,,,,,,,Hash 电导率:,(=t1.id  t2.id)   ,,,,,,,,,,,,Seq  Scan 提醒test  t1 (成本=0.00,14425.00,行=1000000,宽度=4),(actual 时间=0.030,421.537,行=1000000,循环=1)   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

无法在postgresql中使用插入选择进行查询如何解决