I have 1 crore data
user_testing=> select count(*) from likes_test ; count ---------- 10000001 (1 row) Time: First fetch (1 row): 8.088 ms. All rows formatted: 8.116 ms
The data contains like this
[
{"id":1,
"likes":[401,218,134,941,565,457,864,346,774,921,766,432,815,63,822,202,679,409,457,743,902,199,717,232,172,958,179,808,271,418,145,949,806,399,68,935,423,287,31,365,68,875,347,786,386,792,620,903,136,67,539,196,866,419,390,612,591,881,68,575,226,291,354,380,889,105,412,511,411,861,61,802,388,168,655,296,43,541,824,756,649,2,204,396,231,499,42,773,918,19,229,716,675,762,939,352,35,949,445,787,215,524,998,596,267,444,690,52,762]}
]
Count Query on likes, it takes 29 seconds
#
user_testing=> select count(id) from likes_test where mapcontainsvalue(likes,'2')='t' or mapcontainsvalue(likes,'4'); count --------- 1968654 (1 row) Time: First fetch (1 row): 29661.954 ms. All rows formatted: 26661.985 ms
Then I decreased interval of AnalyzeRowCount service,Default value is 60
user_testing=> ALTER DATABASE db_testing_0 SET AnalyzeRowCountInterval = 10;
ALTER DATABASE
Time: First fetch (0 rows): 6.891 ms. All rows formatted: 6.902 ms
Tried the same query, it takes 27 seconds
user_testing=> select count(id) from likes_test where mapcontainsvalue(likes,'2')='t' or mapcontainsvalue(likes,'4'); count --------- 1968654 (1 row) Time: First fetch (1 row): 27388.772 ms. All rows formatted: 27388.800 ms
Then I created projection and tried the same query it takes 26 seconds
#
user_testing=> select count(id) from likes_test_p where mapcontainsvalue(likes,'2')='t' or mapcontainsvalue(likes,'4'); count --------- 1968654 (1 row) Time: First fetch (1 row): 26661.954 ms. All rows formatted: 26661.985 ms
What I have to do to get counts in less time, Provide solution 
Thanks in Advance
