mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
bug#4497 - Serious regression if disk based TMP table is used.
Solved performance problems by enabling write buffer.
This commit is contained in:
@ -4533,6 +4533,20 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
|
|||||||
new_table.no_rows=1;
|
new_table.no_rows=1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef TO_BE_DONE_LATER_IN_4_1
|
||||||
|
/*
|
||||||
|
To use start_bulk_insert() (which is new in 4.1) we need to find
|
||||||
|
all places where a corresponding end_bulk_insert() should be put.
|
||||||
|
*/
|
||||||
|
table->file->info(HA_STATUS_VARIABLE); /* update table->file->records */
|
||||||
|
new_table.file->start_bulk_insert(table->file->records);
|
||||||
|
#else
|
||||||
|
/*
|
||||||
|
HA_EXTRA_WRITE_CACHE can stay until close, no need to disable it explicitly.
|
||||||
|
*/
|
||||||
|
new_table.file->extra(HA_EXTRA_WRITE_CACHE);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* copy all old rows */
|
/* copy all old rows */
|
||||||
while (!table->file->rnd_next(new_table.record[1]))
|
while (!table->file->rnd_next(new_table.record[1]))
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user