mak_sim2001
Новичок
оптимизация запроса или страницы
Собственно сам запрос:
Собственно запрос выполняется суперовски быстро (уже оптимизировал как мог время выполнения в PMA: запрос занял 0.0018)
но одна пробллема мне надо сортировать эапрос по одному выбраному пользователем параметру:
c.Company_name или c.Company_city или c.Company_province запрос умирает так как сортировка не по индексу получается.
Сейчас в таблице Company около 1 000 000 строк.
Какие варианты оптимизировать запрос? страницу?
Это страница с поиском, в условиях поиска могут быть c.Company_name, c.Company_city, c.Company_province, ca.Activity_id, ac.Category_id, ct.Type_id
По поводу JOIN даже если оставить один JOIN запрос выполняетс 16-17 секунд. (если в базе 100 000 записей всё летает)
Собственно сам запрос:
Код:
SELECT c.Company_id
, c.Company_name
, c.Company_city
, c.Company_province
, c.Company_siccode
, c.Company_status
, c.Company_province
, GROUP_CONCAT(DISTINCT a.Activity_title SEPARATOR ', ') as Activity_titles
, GROUP_CONCAT(DISTINCT cat.Category_title SEPARATOR ', ') as Category_titles
, GROUP_CONCAT(DISTINCT t.Type_title SEPARATOR ', ') as Type_titles
, s.Sic_status
FROM `Company` AS c
LEFT JOIN `Company_Activity` AS ca
ON c.Company_id = ca.Company_id
LEFT JOIN `Activity` AS a
ON ca.Activity_id = a.Activity_id
LEFT JOIN `Activity_Category` AS ac
ON a.Activity_id = ac.Activity_id
LEFT JOIN `Category` AS cat
ON ac.Category_id = cat.Category_id
LEFT JOIN `Company_Type` AS ct
ON c.Company_id = ct.Company_id
LEFT JOIN `Type` AS t
ON ct.Type_id = t.Type_id
INNER JOIN `Sic` AS s
ON c.Company_siccode = s.Sic_code
WHERE 1
GROUP BY c.Company_id
LIMIT 0, 30
но одна пробллема мне надо сортировать эапрос по одному выбраному пользователем параметру:
c.Company_name или c.Company_city или c.Company_province запрос умирает так как сортировка не по индексу получается.
Сейчас в таблице Company около 1 000 000 строк.
Какие варианты оптимизировать запрос? страницу?
Это страница с поиском, в условиях поиска могут быть c.Company_name, c.Company_city, c.Company_province, ca.Activity_id, ac.Category_id, ct.Type_id
По поводу JOIN даже если оставить один JOIN запрос выполняетс 16-17 секунд. (если в базе 100 000 записей всё летает)