4.1.3 INSERT FROM SELECT语法

更新时间:2018-10-09 07:01:47

基本语法

INSERT FROM SELECT支持两种执行方式:

  • SELECT部分的查询走MPP模式, 以批量的方式发起实时数据INSERT,默认一批的记录数为100条:
  1. INSERT INTO db_name.target_table_name (col1, col2, col3)
  2. SELECT col1, col2, col3 FROM db_name.source_table_name
  3. WHERE col4 = 'xxx';
  • 上述模式中,并发度受限,为提高并发度,还有一种模式为Native MPP INSERT from SELECT,数据写入节点直接由多个worker节点并发完成,每次batch一批的记录数还是100条, 通过指定 mppNativeInsertFromSelect=true 的hint走这种模式:
  1. /*+mppNativeInsertFromSelect=true*/INSERT INTO db_name.target_table_name (col1, col2, col3)
  2. SELECT col1, col2, col3 FROM db_name.source_table_name
  3. WHERE col4 = 'xxx';