powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизировать запрос
7 сообщений из 7, страница 1 из 1
оптимизировать запрос
    #38519387
zizi_top
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такой запрос

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT DISTINCT `jos_vm_product`.`product_id`, `product_name`, `products_per_row`, `category_browsepage`, `category_flypage`,
  `jos_vm_category`.`category_id`, `product_full_image`, `product_thumb_image`, `product_s_desc`, `product_parent_id`,
  `product_publish`, `product_in_stock`, `product_sku`, `product_url`, `product_weight`, `product_weight_uom`, `product_length`,
  `product_width`, `product_height`, `product_lwh_uom`, `product_available_date`, `product_availability`, `jos_vm_product`.`mdate`,
  `jos_vm_product`.`cdate`
FROM (`jos_vm_product`, `jos_vm_category`, `jos_vm_product_category_xref`,`jos_vm_shopper_group`)
  LEFT JOIN `jos_vm_product_price` ON `jos_vm_product`.`product_id` = `jos_vm_product_price`.`product_id`
WHERE `jos_vm_product_category_xref`.`product_id`=`jos_vm_product`.`product_id`
 AND `jos_vm_product_category_xref`.`category_id`=`jos_vm_category`.`category_id`
 AND ((`jos_vm_product`.`product_id`=`jos_vm_product_price`.`product_id`
          AND `jos_vm_shopper_group`.`shopper_group_id`=`jos_vm_product_price`.`shopper_group_id`)
         OR `jos_vm_product_price`.`product_id` IS NULL) 
 AND `jos_vm_shopper_group`.`default` = 1
 AND `product_parent_id`=0 
 AND `product_publish`='Y' 
 AND `category_publish`='Y' 
 GROUP BY `jos_vm_product`.`product_sku` 
 ORDER BY `jos_vm_product`.`product_name` ASC LIMIT 0, 2000;



вот explain


в таблице jos_vm_category поле category_id это ключ
не пойму почему type=all для таблицы jos_vm_category
...
Рейтинг: 0 / 0
оптимизировать запрос
    #38520256
zizi_top
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
будут идеи?
...
Рейтинг: 0 / 0
оптимизировать запрос
    #38520267
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zizi_topбудут идеи?0)избавиться от смеси французского с нижегородским старого и нового джойн-синтаксисов в запросе, переписать всё через inner/left join
1)дать таблицам в запросе алиасы
2)отформатировать текст запроса до читабельного вида: каждая кляуза (фром, джойн, вере...) - с новой строки
3)выложить explain в теге src или fix, или - если это прямо вот ну никак не можно асилить - хотя бы приложить его прямо сюда, а не в виде ссылки на картинкохренилище.
...
Рейтинг: 0 / 0
оптимизировать запрос
    #38520274
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zizi_top,

Еще хотелось бы пояснений по следующим вопросам:
1) Зачем в запросе одновременно DISTINCT и GROUP BY ?
2) В выборке и сортировке используются поля, которых нет в GROUP BY. Вы осознаете, что их содержимое берется из произвольной записи в пределах группы?
3) DDL таблиц со всеми имеющимися индексами не помешал бы.
...
Рейтинг: 0 / 0
оптимизировать запрос
    #38520275
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir1)дать таблицам в запросе алиасыИ не просто дать, но и во всем запросе их указывать для всех полей.
...
Рейтинг: 0 / 0
оптимизировать запрос
    #38520300
zizi_top
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам запрос будет сложно подправить потому что он генерируется из CMS, кажется жумлой
я думал может индекс куда впихнуть чтобы ускорить
...
Рейтинг: 0 / 0
оптимизировать запрос
    #38520318
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще хотелось бы пояснений по следующим вопросам:
1) Зачем в запросе одновременно DISTINCT и GROUP BY ?

ну, как же - для страховки...


2) В выборке и сортировке используются поля, которых нет в GROUP BY. Вы осознаете, что их содержимое берется из произвольной записи в пределах группы?

наверняка, нет.


3) DDL таблиц со всеми имеющимися индексами не помешал бы.


и собственно - что не устраивает в производительности запроса?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизировать запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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