新闻Position

你的位置:开云半岛·(中国)有限公司官网 > 新闻 > kaiyun网址这种场景下开启批量插入功能会导致性能出现隐微劣化-开云半岛·(中国)有限公司官网

kaiyun网址这种场景下开启批量插入功能会导致性能出现隐微劣化-开云半岛·(中国)有限公司官网

发布日期:2026-07-19 10:15    点击次数:111

kaiyun网址这种场景下开启批量插入功能会导致性能出现隐微劣化-开云半岛·(中国)有限公司官网

阅读官方文档kaiyun网址,发当今506.0版块中引入了一个新特质,叫“复旧ubtree批量插入索引”

官方文档畅达

当以下任何一个场景得志悉数的拘谨要求时,淡薄盛开GUC参数batch_insert_index_types并建筑为"rcr_ubtree"以提高批量插入索引性能:

场景1:使用JDBC市欢数据库,通过java的批量插入数据接口executeBatch进行批量插入索引;

场景2:实行语句insert into t1 select * from t2,其中t1和t2表schema换取,t1表包含索引,此语句复旧在t1表上批量插入索引;必须在批量插入表数据的前提下才会批量插入索引(explain verbose高歌不错检察是否对表数据作念批量插入,Batch Insert代表是批量插入)。得志这些前提后,盛开批量插入索引开关就会实行批量插入索引;

场景3:实行语句COPY FROM(示例:COPY t1 FROM ‘file.csv’ delimiter ‘,’ csv header),其中t1和file.csv文献中的schema换取,t1表包含索引,此语句复旧在t1表上批量插入索引。

伸开剩余64%

拘谨1:插入的索引类型为UBTree RCR索引;

拘谨2:插入数据不递加(插入数据递加会诓骗缓存,即终末一页,这种情况下批量插入索引无性能提高);

拘谨3:不是SMP的批量索引插入。

此特质在以下三个场景会影响性能:

若是批量插入数据是递加的(违犯拘谨2),关闭批量插入功能后,会插入到最右缓存中,性能较好。这种场景下开启批量插入功能会导致性能出现隐微劣化。

在实行捏续的批量插入时,索引会逐渐变大,进而导致批量插入性能有所下落。

批量插入数据过于散播导致缓存页面掷中率过低,大意开动内存过小的场景下,开启批量插入功能会导致性能出现较大幅度劣化。

若是性能劣化幅度较大,淡薄建筑GUC参数batch_insert_index_types为"",关闭该功能,性能劣化问题即可归附。

若是需要期间复旧工程师定位原因,不错建筑GUC参数logging_module=‘on(BIINDEX)’,盛开批量插入索引的日记打印,实行几分钟批量插入直到日记中出现BIINDEX字符串驱散。

其实这个特质的旨趣通俗来说,便是中间加了层索引的缓存页面,不错提前将索引进行排序,加速插入索引的速率(与之相对的其实便是批量数据插入时的单行索引插入)。

这个功能在GaussDB中是默许开启的,创建的索引默许便是RCR索引。

指定创建PCR索引会报错GAUSS-40615: Extreme redo does not support pcr's ubtree.(Extreme Redo不复旧 pcr's ubtree。)(没找到任何关连Extreme redo的说明)。

batch_insert_index_types默许为rcr_ubtree。

发布于:湖南省

TOP