-
Olav Sandstaa authored
The greedy_search test could fail due to differences in query plans on servers where the table_open_cache was adjusted to a low value. The cause for the different query plans was due to the TABLE objects were deleted after inserting data into the tables and re-created when starting on the next query. This caused statistics about the number of records for some of the tables to be missing when optimizing the first few queries. This only affected queries until the persistent statistics was updated for all tables by a background thread in InnoDB. To ensure that information about the number of records and index statistics are updated before running queries, run ANALYZE TABLE for each of the tables used by the test. Two queries get new query plans with the updated statistics. The new query plans for these queries are now identical to the query plans in mysql-5.7 where this test is run using MyISAM instead of InnoDB.
Olav Sandstaa authoredThe greedy_search test could fail due to differences in query plans on servers where the table_open_cache was adjusted to a low value. The cause for the different query plans was due to the TABLE objects were deleted after inserting data into the tables and re-created when starting on the next query. This caused statistics about the number of records for some of the tables to be missing when optimizing the first few queries. This only affected queries until the persistent statistics was updated for all tables by a background thread in InnoDB. To ensure that information about the number of records and index statistics are updated before running queries, run ANALYZE TABLE for each of the tables used by the test. Two queries get new query plans with the updated statistics. The new query plans for these queries are now identical to the query plans in mysql-5.7 where this test is run using MyISAM instead of InnoDB.
Loading