我已将索引列编入索引(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万条记录。