GROUP BY глючит

NightFlash

Новичок
GROUP BY глючит

PHP:
mysql> select distinct ttype from travels where country_id=86;
Empty set (0.00 sec)

mysql> select distinct ttype, "bug?" from travels where country_id=86;
+-------+------+
| ttype | bug? |
+-------+------+
|     1 | bug? |
+-------+------+
1 row in set (0.00 sec)
смысл в том, что если возвращается много много единичек то при DISTINCT (GROUP BY) запросе выдается пустая выборка, но стоит к результирующему набору добавть ЧТО_НИБУДЬ все становится ок.

Server version: 5.0.51a (была 5.0.32)

кто сможет понять в чем дело тот мега моск )))

Главный приз ШОКЛОДКА! )))

-~{}~ 16.06.08 12:30:

PHP:
mysql> SELECT DISTINCT ttype FROM travels WHERE country_id=86;
Empty set (0,00 sec)

mysql> EXPLAIN SELECT DISTINCT ttype FROM travels WHERE country_id=86;
+----+-------------+---------+-------+----------------------------------------------------+-----------+---------+------+------+---------------------------------------+
| id | select_type | table   | type  | possible_keys                                      | key       | key_len | ref  | rows | Extra                                 |
+----+-------------+---------+-------+----------------------------------------------------+-----------+---------+------+------+---------------------------------------+
|  1 | SIMPLE      | travels | range | country_id,search1,search1base,search3,search3base | catalog30 | 5       | NULL |    2 | Using where; Using index for group-by |
+----+-------------+---------+-------+----------------------------------------------------+-----------+---------+------+------+---------------------------------------+
1 row in set (0,00 sec)

mysql> EXPLAIN SELECT DISTINCT ttype FROM travels USE INDEX (catalog30) WHERE country_id=86;
+----+-------------+---------+-------+---------------+-----------+---------+------+------+---------------------------------------+
| id | select_type | table   | type  | possible_keys | key       | key_len | ref  | rows | Extra                                 |
+----+-------------+---------+-------+---------------+-----------+---------+------+------+---------------------------------------+
|  1 | SIMPLE      | travels | range | NULL          | catalog30 | 10      | NULL |    2 | Using where; Using index for group-by |
+----+-------------+---------+-------+---------------+-----------+---------+------+------+---------------------------------------+
1 row in set (0,00 sec)
Все видят тоже что и я? Mysql в обоих случаях использует один и тот же индекс, но когда он НЕ указан явно то почему-то его длина составляет 5!!!! символов а не 10!!!
 
Сверху