Hi Yuan,
   VSBB operations are more efficient - they are performed as a set of rows. So 
in general when there is a set of rows to upsert it'll perform better.
To turn it off and get a trafodion_upsert, you can set CQD INSERT_VSBB 'OFF'; 
and  HBASE_ROWSET_VSBB_OPT 'OFF' for the other operators like select, delete . 
But in general you don't want to do that. The compiler should  pick 
trafodion_upsert if there is only one row to upsert. 
Thanks
Sandhya

-----Original Message-----
From: Liu, Yuan (Yuan) <[email protected]> 
Sent: Wednesday, November 7, 2018 9:40 PM
To: [email protected]
Subject: trafodion_upsert vs trafodion_vsbb_upsert

Hi Trafodioneers,

For table scan, we have trafodion_scan and trafodion_vsbb_scan.
For table delete, we have trafodion_delete and trafodion_vsbb_delete(delete 
with no rollback).
For upsert, we also support trafodion_upsert and trafodion_vsbb_upsert.

I am trying to upsert data into a table and I get trafodion_vsbb_upsert. But 
how to get a trafodion_upsert plan? And what's the difference between 
trafodion_upsert and trafodion_vsbb_upsert?

SQL>explain options 'f' upsert into DMA_ENTTYPE_STAT_30W_P8 select * from 
DMA_ENTTYPE_STAT;

LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
---- ---- ---- --------------------  --------  --------------------  ---------
4    .    5    root                            x                     5.03E+006
2    3    4    tuple_flow                                            5.03E+006
.    .    3    trafodion_vsbb_upser            DMA_ENTTYPE_STAT_30W  1.00E+000
1    .    2    sort                                                  5.03E+006
.    .    1    trafodion_scan                  DMA_ENTTYPE_STAT      5.03E+006



Best regards
Yuan

Reply via email to