• unknown's avatar
    Fixed bug #14292: performance degradation for a benchmark query. · 21d61c2b
    unknown authored
    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.
    21d61c2b
sql_test.cc 14.7 KB