Mysql:rows字段的解释语句的输出有多准确?

时间:2016-01-03 12:12:36

标签: mysql

我已将索引列编入索引(client_id,batch_id)。

然后我使用explain关键字来检查select stament是否正在使用索引,并发现它正在使用名为“client_id_batch_id”的索引。

mysql> explain  select count(*) from authentication_codes where client_id=6 and batch_id = "74" \G;
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: authentication_codes
         type: ref
possible_keys: client_id_batch_id
          key: client_id_batch_id
      key_len: 773
          ref: const,const
         rows: 1915982
        Extra: Using where; Using index
1 row in set (0.00 sec)

ERROR: 
No query specified

但是在我的authentication_codes表中,client_id = 6和batch_id = 74组合只有100万行,那么为什么行提示显示191 598行?我原以为它会显示100万条记录。

1 个答案:

答案 0 :(得分:1)

根据mysql document,它意味着为您的语句检查了多少行。因此,为了获取输出而检查的是大约191K行(不一定只是满足条件的行)。