Кратко:COUNT_SCAN
е най-ефективният начин за получаване на брой чрез четене на стойността от индекс, но може да се извърши само в определени ситуации. В противен случай IXSCAN
се извършва след известно филтриране на документи и преброяване в паметта.
При четене от вторичен проблемът за четене available
се използва. Това ниво на безпокойство не отчита осиротели документи в разделени клъстери и следователно не SHARDING_FILTER
етап ще бъде изпълнен. Това е, когато видите COUNT_SCAN
.
Въпреки това, ако използваме read concern local
, трябва да извлечем документите, за да изпълним етапа на филтриране SHARDING_FILTER. В този случай има няколко етапа за изпълнение на заявката:IXSCAN
, след това FETCH
след това SHARDING_FILTER
.