-
Marc Alff authored
Before this fix, the estimated number of rows for a performance schema table was a hard coded value 1000 for most tables. This value was intended only as a way to convey to the optimizer the information that a table has "many" rows, as opposed to none (0) or just one (1), which can be optimizer differently. This innacurate row count has no negative effects, but is still visible in: - the output of EXPLAIN - the information_schema In particular, it causes confusion, as the number of rows claimed in EXPLAIN is inconsistent with the number or rows really used. This fix implements a ::get_row_count() method for every performance_schema table, which computes a more accurate number of rows, based on sizing parameters used when allocating memory for each table.
Marc Alff authoredBefore this fix, the estimated number of rows for a performance schema table was a hard coded value 1000 for most tables. This value was intended only as a way to convey to the optimizer the information that a table has "many" rows, as opposed to none (0) or just one (1), which can be optimizer differently. This innacurate row count has no negative effects, but is still visible in: - the output of EXPLAIN - the information_schema In particular, it causes confusion, as the number of rows claimed in EXPLAIN is inconsistent with the number or rows really used. This fix implements a ::get_row_count() method for every performance_schema table, which computes a more accurate number of rows, based on sizing parameters used when allocating memory for each table.
Loading