mirror of
https://github.com/MariaDB/server.git
synced 2025-08-18 16:31: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 |
||
---|---|---|
.. | ||
btr | ||
buf | ||
data | ||
dict | ||
eval | ||
fil | ||
fsp | ||
fts | ||
fut | ||
gis | ||
ha | ||
handler | ||
ibuf | ||
include | ||
lock | ||
log | ||
mem | ||
mtr | ||
mysql-test/storage_engine | ||
os | ||
page | ||
pars | ||
que | ||
read | ||
rem | ||
row | ||
srv | ||
sync | ||
trx | ||
unittest | ||
ut | ||
.clang-format-old | ||
CMakeLists.txt | ||
COPYING.Google | ||
COPYING.Percona |