为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:Dm8
【操作系统】:linux
【CPU】:
【问题描述】*:我在c#中使用DmBulkCopy2批量插入数据后表的索引被禁用。文档中3是刷新索引,但是提供的DmbulkCopy2不支持3,传入报错。请问要怎么做?是否需要在每次插入完成后手动重建索引?
IndexOption:索引功能选项,可选值有1、2、3,但目前仅支持1、2。各选项含义:
1:不刷新二级索引,数据按照索引先排序,装载完后再将排序的数据插入索引;
2:不刷新二级索引,数据装载完成后重建所有二级索引;
3:刷新二级索引, 数据装载的同时将数据插入二级索引。
var bc = new DmBulkCopy2((DmConnection)ado.Connection)
{
BatchSize = 5000,
IndexOption = 2,
SetIdentity = false,
DestinationTableName = "BB_999999_TEMP"
};
bc.WriteToServer(dt);
我这样调用插入完成后数据表的索引就失效了。
select status,index_name,index_type,table_owner,table_name
from user_indexes where table_name='BB_999999_TEMP'
UNUSABLE IDX_SJBH_999999_TEMP NORMAL BAZX BB_999999_TEMP
UNUSABLE IDX_SJBSBH_999999_TEMP NORMAL BAZX BB_999999_TEMP

请问是否方便提供下DEMO,以及数据库版本信息(select id_code查看)?我试了下我这边并没有复现