mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
Fixed bug #14292: performance degradation for a benchmark query.
This performance degradation was due to the fact that some cost evaluation code added into 4.1 in the function find_best was not merged into the code of the function best_access_path added together with other code for greedy optimizer. Added a parameter to the function print_plan. The parameter contains accumulated cost for a given partial join. The patch does not include a special test case since this performance degradation is hard to reproduse with a simple example. TODO: make the function find_best use the function best_access_path in order to remove duplication of code which might result in incomplete merges in the future.
This commit is contained in:
@@ -1066,8 +1066,8 @@ pthread_handler_t handle_manager(void *arg);
|
||||
void print_where(COND *cond,const char *info);
|
||||
void print_cached_tables(void);
|
||||
void TEST_filesort(SORT_FIELD *sortorder,uint s_length);
|
||||
void print_plan(JOIN* join, double read_time, double record_count,
|
||||
uint idx, const char *info);
|
||||
void print_plan(JOIN* join,uint idx, double record_count, double read_time,
|
||||
double current_read_time, const char *info);
|
||||
#endif
|
||||
void mysql_print_status();
|
||||
/* key.cc */
|
||||
|
||||
Reference in New Issue
Block a user