Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизация запроса / 2 сообщений из 2, страница 1 из 1
09.03.2017, 14:44
    #39416231
Exec1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
есть запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT `mes`, `nomer`, COUNT(*) AS cnt FROM `alog` GROUP BY `nomer` ORDER BY `cnt` DESC;


> EXPLAIN SELECT `mes`, `nomer`, COUNT(*) AS cnt FROM `alog` GROUP BY `nomer` ORDER BY `cnt` DESC;
+----+-------------+-------+------+---------------+------+---------+------+--------+---------------------------------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows   | Extra                           |
+----+-------------+-------+------+---------------+------+---------+------+--------+---------------------------------+
|  1 | SIMPLE      | alog  | ALL  | NULL          | NULL | NULL    | NULL | 156972 | Using temporary; Using filesort |
+----+-------------+-------+------+---------------+------+---------+------+--------+---------------------------------+
1 row in set (0.00 sec)



индекс для `nomer` делал ..

возможно скорость выполнения его как то увеличить ?
...
Рейтинг: 0 / 0
09.03.2017, 15:00
    #39416248
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
Запрос "ниачём". Возвращает произвольное `mes` для группы равных `nomer`.
Оберните `mes` в групповую функцию (например, MIN) и создайте индекс (nomer,mes).
Но от Using temporary; Using filesort всё равно не избавиться. Сортировка по вычислимому полю.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизация запроса / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]