如何计算基数?
当我这样做时:
select count(distinct(content_type)) from mturk_imdbentry
我得到10个不同的值。但是当我检查数据库时,它会将该列的基数列为19.为什么会这样?
答案 0 :(得分:1)
用于估计“基数”值的方法取决于存储引擎。
InnoDB使用抽样。如何完成(索引潜水次数,检查页数)以及何时发生,取决于InnoDB的版本以及某些变量的设置,例如
use_legacy_innodb_algorithm
innodb_stats_on_metadata
innodb_stats_persistent
innodb_stats_persistent_sample_pages
innodb_stats_auto_recalc
innodb_stats_method
使用MyISAM:
myisam_stats_method
“MySQL参考手册”中提供了一些其他信息
http://dev.mysql.com/doc/refman/5.5/en/myisam-index-statistics.html