







|
MySQL.RU - Webboard
Вернуться
Можно ли ускорить запрос? (сейчас 4сек) (Mikluho) 22/09/2006 - 17:17:38
Re: Можно ли ускорить запрос? (сейчас 4сек) (Ivan) 23/09/2006 - 14:25:40
From: Mikluho - 22/09/2006 - 17:17:38
Subject:Можно ли ускорить запрос? (сейчас 4сек)
-----------------
select distinct m.manufacturers_name, p.products_model, m.manufacturers_id,
p.products_id, pd.products_name, p.products_price, p.products_status,
p2c.categories_id, pd.products_id, p2c.products_id
from products p, manufacturers m,
products_description pd,
categories c, categories c2, categories c3,
products_to_categories p2c
WHERE m.manufacturers_id=p.manufacturers_id
and p.products_id = pd.products_id
and p.products_id = p2c.products_id
and p2c.categories_id = c.categories_id
AND p.products_status = 1
and c.categories_status <> 0 AND
(c.parent_id = 0 OR
(c.parent_id = c2.categories_id AND c2.categories_status <> 0
AND (c2.parent_id = 0 OR (c2.parent_id = c3.categories_id
AND c3.categories_status <> 0 AND c3.parent_id = 0)))) and
((pd.products_name like '%44%' or
LCASE(REPLACE(REPLACE(p.products_model, ' ', ''),'-','')) like '%44%'
or m.manufacturers_name like '%44%') )
ORDER BY p.products_price
limit 0, 20
explain:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE p ALL PRIMARY,manufacturers_id NULL NULL NULL 4765 Using where; Using temporary; Using filesort
1 SIMPLE m eq_ref PRIMARY PRIMARY 4 u27461.p.manufacturers_id 1
1 SIMPLE pd ref PRIMARY PRIMARY 4 u27461.p.products_id 1 Using where
1 SIMPLE p2c ref PRIMARY PRIMARY 4 u27461.p.products_id 1 Using index
1 SIMPLE c2 ALL PRIMARY,idx_categories_parent_id NULL NULL NULL 118 Distinct
1 SIMPLE c3 ALL PRIMARY,idx_categories_parent_id NULL NULL NULL 118 Distinct
1 SIMPLE c eq_ref PRIMARY,idx_categories_parent_id PRIMARY 4 u27461.p2c.categories_id 1 Using where; Distinct
Запрос выполняется почти 4 секунды - очень много! Как ускорить запрос?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
29740
|
|