Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизация запроса / 5 сообщений из 5, страница 1 из 1
28.07.2018, 20:23
    #39680599
hurryup
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
Добрый день.
Подскажите пожалуйста можно ли ускорить этот запрос ?
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT nomenclature_types.nomenclature_type_key, count( DISTINCT(nomenclature.nomenclature_key) ) AS count
FROM nomenclature
LEFT JOIN nomenclature_types  USING(nomenclature_type_key)
WHERE
 `nomenclature`.`delete`!=1 AND
`nomenclature`.`use_in_eshop`=1
GROUP BY nomenclature_types.nomenclature_type_key\G



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
mysql> EXPLAIN SELECT nomenclature_types.nomenclature_type_key, count( DISTINCT(nomenclature.nomenclature_key) ) AS count FROM nomenclature LEFT JOIN nomenclature_types  USING(nomenclature_type_key) WHERE `nomenclature`.`use_in_eshop`=1 AND  `nomenclature`.`delete`=0  GROUP BY nomenclature_types.nomenclature_type_key;
+----+-------------+--------------------+------------+------+-----------------------+-----------------------+---------+-----------------------------------------------+-------+----------+----------------------------------------------+
| id | select_type | table              | partitions | type | possible_keys         | key                   | key_len | ref                                           | rows  | filtered | Extra                                        |
+----+-------------+--------------------+------------+------+-----------------------+-----------------------+---------+-----------------------------------------------+-------+----------+----------------------------------------------+
|  1 | SIMPLE      | nomenclature       | NULL       | ref  | delete,use_in_eshop   | delete                | 1       | const                                         | 30045 |    50.00 | Using where; Using temporary; Using filesort |
|  1 | SIMPLE      | nomenclature_types | NULL       | ref  | nomenclature_type_key | nomenclature_type_key | 38      | new_system.nomenclature.nomenclature_type_key |     1 |   100.00 | Using index                                  |
+----+-------------+--------------------+------------+------+-----------------------+-----------------------+---------+-----------------------------------------------+-------+----------+----------------------------------------------+
2 rows in set, 1 warning (0.00 sec)


delete = 0,1 tinyint(1)
use_in_eshop = 0,1 tinyint(1)

Кстати я пытаюсь делать составной индекс delete,use_in_eshop - но он не используется. Почему?
...
Рейтинг: 0 / 0
29.07.2018, 05:51
    #39680643
полудух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
у вас либо delete отдельно, либо после поиска по delete остаётся совсем мало строк

зы: полагаю, достаточно простого JOIN (INNER), вряд ли у вас ведь там есть номенклатуры БЕЗ типа или указаны несуществующие типы
зыы: не используйте зарезервированные слова
...
Рейтинг: 0 / 0
29.07.2018, 05:52
    #39680644
полудух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
* вряд ли у вас там есть номенклатуры БЕЗ типа или указаны несуществующие типы
...
Рейтинг: 0 / 0
29.07.2018, 12:19
    #39680673
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
Не факт. довольно распространенная проблема.
...
Рейтинг: 0 / 0
29.07.2018, 13:02
    #39680677
полудух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
982183Не факт. довольно распространенная проблема.
ну одно дело, если проверки нет или дефолта, тогда вопрос к архитектору
а другое, когда номенклатуре тип не нужен. Но тогда бы и колонки не было.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизация запроса / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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