diff --git a/be/src/olap/tablet_schema.cpp b/be/src/olap/tablet_schema.cpp index 36610f909748f2..6d462c974a6765 100644 --- a/be/src/olap/tablet_schema.cpp +++ b/be/src/olap/tablet_schema.cpp @@ -1000,12 +1000,15 @@ void TabletSchema::init_from_pb(const TabletSchemaPB& schema, bool ignore_extrac if (column->is_variant_type()) { ++_num_variant_columns; } + _cols.emplace_back(std::move(column)); - _vl_field_mem_size += - sizeof(StringRef) + sizeof(char) * _cols.back()->name().size() + sizeof(size_t); - _field_name_to_index.emplace(StringRef(_cols.back()->name()), _num_columns); - _vl_field_mem_size += sizeof(int32_t) * 2; - _field_id_to_index[_cols.back()->unique_id()] = _num_columns; + if (!_cols.back()->is_extracted_column()) { + _vl_field_mem_size += + sizeof(StringRef) + sizeof(char) * _cols.back()->name().size() + sizeof(size_t); + _field_name_to_index.emplace(StringRef(_cols.back()->name()), _num_columns); + _vl_field_mem_size += sizeof(int32_t) * 2; + _field_id_to_index[_cols.back()->unique_id()] = _num_columns; + } _num_columns++; } for (auto& index_pb : schema.index()) {