找出基数

时间:2015-01-09 20:52:45

标签: mysql

如何计算基数?

当我这样做时:

select count(distinct(content_type)) from mturk_imdbentry

我得到10个不同的值。但是当我检查数据库时,它会将该列的基数列为19.为什么会这样?

1 个答案:

答案 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