+---------------+-------------------+ | version | 5.0.72-enterprise | +---------------+-------------------+ -------------- explain SELECT COUNT(DISTINCT c) from sbtest where id between 1 and 1000000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+-------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 422510 | Using where | +----+-------------+--------+-------+---------------+---------+---------+------+--------+-------------+ -------------- SELECT COUNT(DISTINCT c) from sbtest where id between 1 and 1000000 order by c -------------- +-------------------+ | COUNT(DISTINCT c) | +-------------------+ | 1 | +-------------------+ 1 row in set (3.57 sec) -------------- explain SELECT DISTINCT c from sbtest where id between 1 and 100000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 149220 | Using where; Using temporary; Using filesort | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ -------------- SELECT DISTINCT c from sbtest where id between 1 and 100000 order by c -------------- +---+ | c | +---+ | | +---+ 1 row in set (0.12 sec) -------------- explain SELECT DISTINCT c from sbtest where id between 100000 and 500000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 500054 | Using where; Using temporary; Using filesort | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ -------------- SELECT DISTINCT c from sbtest where id between 100000 and 500000 order by c -------------- +---+ | c | +---+ | | +---+ 1 row in set (0.49 sec) -------------- explain SELECT DISTINCT c from sbtest where id between 100000 and 1000000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 500054 | Using where; Using temporary; Using filesort | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ -------------- SELECT DISTINCT c from sbtest where id between 100000 and 1000000 order by c -------------- +---+ | c | +---+ | | +---+ 1 row in set (1.09 sec) -------------- explain SELECT DISTINCT c from sbtest where id between 1 and 1000000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 422510 | Using where; Using temporary; Using filesort | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ -------------- SELECT DISTINCT c from sbtest where id between 1 and 1000000 order by c -------------- +---+ | c | +---+ | | +---+ 1 row in set (1.22 sec) +---------------+-------------------+ | version | 5.0.74-enterprise | +---------------+-------------------+ -------------- explain SELECT COUNT(DISTINCT c) from sbtest where id between 1 and 1000000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+-------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 422510 | Using where | +----+-------------+--------+-------+---------------+---------+---------+------+--------+-------------+ -------------- SELECT COUNT(DISTINCT c) from sbtest where id between 1 and 1000000 order by c -------------- +-------------------+ | COUNT(DISTINCT c) | +-------------------+ | 1 | +-------------------+ 1 row in set (3.74 sec) -------------- explain SELECT DISTINCT c from sbtest where id between 1 and 100000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 149220 | Using where; Using temporary; Using filesort | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ -------------- SELECT DISTINCT c from sbtest where id between 1 and 100000 order by c -------------- +---+ | c | +---+ | | +---+ 1 row in set (0.15 sec) -------------- explain SELECT DISTINCT c from sbtest where id between 100000 and 500000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 500054 | Using where; Using temporary; Using filesort | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ -------------- SELECT DISTINCT c from sbtest where id between 100000 and 500000 order by c -------------- +---+ | c | +---+ | | +---+ 1 row in set (0.57 sec) -------------- explain SELECT DISTINCT c from sbtest where id between 100000 and 1000000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 500054 | Using where; Using temporary; Using filesort | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ -------------- SELECT DISTINCT c from sbtest where id between 100000 and 1000000 order by c -------------- +---+ | c | +---+ | | +---+ 1 row in set (1.31 sec) -------------- explain SELECT DISTINCT c from sbtest where id between 1 and 1000000 order by c -------------- +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ | 1 | SIMPLE | sbtest | range | PRIMARY | PRIMARY | 4 | NULL | 422510 | Using where; Using temporary; Using filesort | +----+-------------+--------+-------+---------------+---------+---------+------+--------+----------------------------------------------+ -------------- SELECT DISTINCT c from sbtest where id between 1 and 1000000 order by c -------------- +---+ | c | +---+ | | +---+ 1 row in set (1.44 sec)