wmaster
Новичок
странно работает индексы. За 1 день работают. За 4 дня не работают
EXPLAIN SELECT DATE_FORMAT(date_time, '%Y-%m-%d') as date_str .... FROM `cdata` WHERE date_time>='2007-1-27 00:00:00' AND date_time<='2007-01-30 23:59:59' GROUP BY date_str;
+-------+-------+---------------+------+---------+------+--------+-----------------------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+-------+-------+---------------+------+---------+------+--------+-----------------------------+
| cdata | range | time | time | 8 | NULL | 881088 | where used; Using temporary |
+-------+-------+---------------+------+---------+------+--------+-----------------------------+
Работает
EXPLAIN SELECT DATE_FORMAT(date_time, '%Y-%m-%d') as date_str .... FROM `cdata` WHERE date_time>='2007-1-20 00:00:00' AND date_time<='2007-01-30 23:59:59' GROUP BY date_str;
+-------+------+---------------+------+---------+------+---------+-----------------------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+-------+------+---------------+------+---------+------+---------+-----------------------------+
| cdata | ALL | time | NULL | NULL | NULL | 5763761 | where used; Using temporary |
+-------+------+---------------+------+---------+------+---------+-----------------------------+
НЕ Работает
Разница только в диапазоне значений.
Версия правда старенькая: 3.23.54
Есть у кого нибудь предположения причины такого поведения Майскла?
EXPLAIN SELECT DATE_FORMAT(date_time, '%Y-%m-%d') as date_str .... FROM `cdata` WHERE date_time>='2007-1-27 00:00:00' AND date_time<='2007-01-30 23:59:59' GROUP BY date_str;
+-------+-------+---------------+------+---------+------+--------+-----------------------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+-------+-------+---------------+------+---------+------+--------+-----------------------------+
| cdata | range | time | time | 8 | NULL | 881088 | where used; Using temporary |
+-------+-------+---------------+------+---------+------+--------+-----------------------------+
Работает
EXPLAIN SELECT DATE_FORMAT(date_time, '%Y-%m-%d') as date_str .... FROM `cdata` WHERE date_time>='2007-1-20 00:00:00' AND date_time<='2007-01-30 23:59:59' GROUP BY date_str;
+-------+------+---------------+------+---------+------+---------+-----------------------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+-------+------+---------------+------+---------+------+---------+-----------------------------+
| cdata | ALL | time | NULL | NULL | NULL | 5763761 | where used; Using temporary |
+-------+------+---------------+------+---------+------+---------+-----------------------------+
НЕ Работает
Разница только в диапазоне значений.
Версия правда старенькая: 3.23.54
Есть у кого нибудь предположения причины такого поведения Майскла?