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. mysql-test/r/delete.result: Fixed bug #14292: performance degradation for a benchmark query. Adjusted test results. mysql-test/r/subselect.result: Fixed bug #14292: performance degradation for a benchmark query. Adjusted test results. sql/mysql_priv.h: Fixed bug #14292: performance degradation for a benchmark query. Added a parameter to the function print_plan. The parameter contains accumulated cost for a given partial join. sql/sql_select.cc: 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. sql/sql_test.cc: Fixed bug #14292: performance degradation for a benchmark query. Added a parameter to the function print_plan. The parameter contains accumulated cost for a given partial join.
Showing
This diff is collapsed.
Please register or sign in to comment