You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
1. Set 1M as the threshold on the number of records to flush the cache.
2. Set 100k as the batch size when flushing records into ColumnStore, i.e., a flush of 1M records will be performed in 10 batches, each being 100k. 3. For INSERT ... SELECT on the cache, use the default insertion method of cpimport.
This commit is contained in:
@ -3161,7 +3161,7 @@ void ha_mcs_impl_start_bulk_insert(ha_rows rows, TABLE* table, bool is_cache_ins
|
||||
ci->isLoaddataInfile = true;
|
||||
}
|
||||
|
||||
if (is_cache_insert)
|
||||
if (is_cache_insert && (thd->lex)->sql_command != SQLCOM_INSERT_SELECT)
|
||||
{
|
||||
ci->isCacheInsert = true;
|
||||
|
||||
@ -3174,7 +3174,7 @@ void ha_mcs_impl_start_bulk_insert(ha_rows rows, TABLE* table, bool is_cache_ins
|
||||
if ((((thd->lex)->sql_command == SQLCOM_INSERT) ||
|
||||
((thd->lex)->sql_command == SQLCOM_LOAD) ||
|
||||
(thd->lex)->sql_command == SQLCOM_INSERT_SELECT ||
|
||||
is_cache_insert) && !ci->singleInsert )
|
||||
ci->isCacheInsert) && !ci->singleInsert )
|
||||
{
|
||||
ci->useCpimport = get_use_import_for_batchinsert(thd);
|
||||
|
||||
@ -3182,7 +3182,7 @@ void ha_mcs_impl_start_bulk_insert(ha_rows rows, TABLE* table, bool is_cache_ins
|
||||
ci->useCpimport = 0;
|
||||
|
||||
// For now, disable cpimport for cache inserts
|
||||
if (is_cache_insert)
|
||||
if (ci->isCacheInsert)
|
||||
ci->useCpimport = 0;
|
||||
|
||||
// ci->useCpimport = 2 means ALWAYS use cpimport, whether it's in a
|
||||
@ -3215,6 +3215,11 @@ void ha_mcs_impl_start_bulk_insert(ha_rows rows, TABLE* table, bool is_cache_ins
|
||||
}
|
||||
|
||||
ci->useXbit = table->s->db_options_in_use & HA_OPTION_PACK_RECORD;
|
||||
|
||||
// TODO: This needs a proper fix.
|
||||
if (is_cache_insert)
|
||||
ci->useXbit = false;
|
||||
|
||||
//@bug 6122 Check how many columns have not null constraint. columnn with not null constraint will not show up in header.
|
||||
unsigned int numberNotNull = 0;
|
||||
|
||||
@ -3541,7 +3546,7 @@ void ha_mcs_impl_start_bulk_insert(ha_rows rows, TABLE* table, bool is_cache_ins
|
||||
}
|
||||
|
||||
//Save table oid for commit to use
|
||||
if ( ( ((thd->lex)->sql_command == SQLCOM_INSERT) || ((thd->lex)->sql_command == SQLCOM_LOAD) || (thd->lex)->sql_command == SQLCOM_INSERT_SELECT) || is_cache_insert)
|
||||
if ( ( ((thd->lex)->sql_command == SQLCOM_INSERT) || ((thd->lex)->sql_command == SQLCOM_LOAD) || (thd->lex)->sql_command == SQLCOM_INSERT_SELECT) || ci->isCacheInsert)
|
||||
{
|
||||
// query stats. only collect execution time and rows inserted for insert/load_data_infile
|
||||
ci->stats.reset();
|
||||
|
Reference in New Issue
Block a user