mirror of
https://github.com/MariaDB/server.git
synced 2025-08-26 04:11:36 +02:00
![]() Problem: ======= InnoDB persistent statistics doesn't take innodb_stats_method variable while calculating n_diff_pfx for the n-prefix index columns. Solution: ========= While calculating the persistent statistics, InnoDB consider all NULLS as different value when innodb_stats_method is set to NULLS_UNEQUAL or NULLS_IGNORED. InnoDB statistics depends on the value of "innodb_stats_method" variable when the statistics were last recalculated. dict_stats_analyze_index_level(), dict_stats_scan_page(), dict_stats_analyze_index_below_cur(), dict_stats_analyze_index_for_n_prefix(): All function accepts the parameter to indicate the innodb_stats_method. It also calculates the number of non-null key value for each level or leaf page dict_stats_index_set_n_diff(): calculates the number of non-null values similar to number of different key values. Append the non-default innodb_stats_method variable name for n_diff_pfx statistics description in mysql.innodb_index_stats. IndexScanStatistics: Structure to store the various statistical metric gathered during index scan fetch operation. This structure is being used in dict_stats_analyze_index_level() to fetch the statistics |
||
---|---|---|
.. | ||
ut0dbg.cc | ||
ut0list.cc | ||
ut0mem.cc | ||
ut0new.cc | ||
ut0rbt.cc | ||
ut0rnd.cc | ||
ut0ut.cc | ||
ut0vec.cc | ||
ut0wqueue.cc |