mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-26901: Estimation for filtered rows less precise ... #4
In Histogram_json_hb::point_selectivity(), do return selectivity of 0.0 when the histogram says so. The logic of "Do not return 0.0 estimate as it causes a multiply-by-zero meltdown in cost and cardinality calculations" is moved into records_in_column_ranges() where it is one *once* per column pair (as opposed to doing once per range, which can cause the error to add-up to large number when there are many ranges)
This commit is contained in:
@@ -921,7 +921,7 @@ double Histogram_json_hb::point_selectivity(Field *field, key_range *endpoint,
|
||||
The bucket has a single value and it doesn't match! Return a very
|
||||
small value.
|
||||
*/
|
||||
sel= 1.0 / total_rows;
|
||||
sel= 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user