Есть таблица:
+--------------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+----------------------+------+-----+---------+-------+
| ts | timestamp(14) | YES | MUL | NULL | |
| ip_saddr | int(10) unsigned | YES | | NULL | |
| ip_daddr | int(10) unsigned | YES | | NULL | |
+--------------+----------------------+------+-----+---------+-------+
Если делаем:
explain select * from packets where ts between '2004.06.03' and '2004.06.04 20:25:25';
Получаем такое:
+---------+-------+---------------+------+---------+------+----------+---------- --+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+---------+-------+---------------+------+---------+------+----------+---------- --+
| packets | range | ts | ts | 4 | NULL | 18493325 | where used |
+---------+-------+---------------+------+---------+------+----------+---------- --+
Если же делаем так (в промежуток добовляем одну скунду):
explain select * from packets where ts between '2004.06.03' and '2004.06.04 20:25:26';
То видим такое:
+---------+------+---------------+------+---------+------+-----------+---------- --+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+---------+------+---------------+------+---------+------+-----------+---------- --+
| packets | ALL | ts | NULL | NULL | NULL | 108317512 | where used |
+---------+------+---------------+------+---------+------+-----------+---------- --+
То есть индекс уже не используется, если же подождать ещё некоторое время, когда накопятся данные, то этот промежуток использования индекса увеличивается ещё на секунду и т.д. Я конечно читал что если выборка идёт более чем по 30 процентам всех данных, то просматривается вся таблица, но тут даже и 15 процентов нет, в чём может быть дело???
Спасибо!!!
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Какой запрос быстрее/оптимальнее (2021)
- Форум MySQL: Странное поведение left join (2017)
- Форум MySQL и индексация.... (2003)
- Форум MySQL. Распределение данных в столбце по индексу (2020)
- Форум Интерпретация профилировщика mysql (2015)
- Форум Синтаксис запросов MySQL. Строки в WHERE. (2014)
- Форум вложенные запросы - mysql (2007)
- Форум [MySQL] COUNT(*) WHERE (2010)
- Форум Триггер MySQL && WorkBench Settings (2011)
- Форум mysql запрос (2007)