Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
625 ₴

Оптимизировать mysql запрос

project complete


Есть запрос

SELECT U.user_id, U.login, U.name, U.surname, U.pro, U.created, U.avatar, U.verified, U.sex, U.status,
U.addr_lat, U.addr_lng, U.reg1_country, U.reg2_region, U.reg3_city, U.rating, U.opinions_cache,
U.portfolio_intro, U.portfolio_works, S.portfolio_cat_cache, S.portfolio_spec_cache,
U.opinions_text_cache, S.opinions_cat_cache, S.opinions_spec_cache, U.opinion_cnt,
U.opinions_new_rating,
TB.portfolio AS portfolio_tab, TB.price AS price_tab,
GROUP_CONCAT(T.tag_id) AS tags,
MS.cat_id AS main_cat_id, MS.spec_id AS main_spec_id, MS.price AS main_price, MS.price_curr AS main_price_curr,
MS.price_rate AS main_price_rate, MS.price_rate_text AS main_price_rate_text,
MS.budget AS main_budget, MS.budget_curr AS main_budget_curr, MS.services_cache AS main_services_cache,
S.services_cache, S.spec_id AS spec_id, ST.specs_services, ST.last_activity
FROM bff_users_stat ST, bff_users U
LEFT JOIN bff_users_in_tags T ON U.user_id = T.user_id
LEFT JOIN bff_users_specializations MS ON U.user_id = MS.user_id AND MS.main = 1
LEFT JOIN bff_users_spec_position USP ON U.user_id = USP.user_id
, bff_users_tabs TB , bff_users_specializations S WHERE U.reg2_region = :reg2_region AND U.reg3_city = :reg3_city AND U.blocked = 0 AND U.deleted = 0 AND U.user_id = S.user_id AND S.disabled = 0 AND U.user_id = ST.user_id AND U.user_id = TB.user_id AND 0 = USP.cat_id AND 0 = USP.spec_id AND 0 = USP.landing_id
GROUP BY U.user_id
ORDER BY USP.position asc, USP.rand asc
LIMIT 0,10


Нужно его оптимизировать, что бы его загрузка не превышала 0,5 секунды, желательно и того меньше
Для страртовой страницы указывается
U.reg2_region = 7001 и U.reg3_city = 7002
USP.cat_id = 0
USP.spec_id = 0
USP.landing_id = 0
На даный момент по даному запросу их около 320 мастеров

Для страницы категории указывается
U.reg2_region = 7001 и U.reg3_city = 7002
USP.cat_id = 4 (для примера)
USP.spec_id = 0
USP.landing_id = 0


Для страницы специализации указывается
U.reg2_region = 7001 и U.reg3_city = 7002
USP.cat_id = 4 (для примера)
USP.spec_id = 5 (для примера)
USP.landing_id = 0

Для посадочной страницы указывается
U.reg2_region = 7001 и U.reg3_city = 7002
USP.cat_id = 0
USP.spec_id = 0
USP.landing_id = 45 (для примера)

Результат выполнения (масив данных) должен в точности совпадать с ключами которые сейчас прописаны в блоке SELECT

По таблицам:
bff_users_stat -> общая статистика по пользователю (последних вход, последнее время коментария, сколько порфолио и т.д. )
bff_users -> таблица с информацией о пользователе
bff_users_in_tags -> прикрепленные теги к пользователю
bff_users_specializations -> специализации которые прикрепленные к пользователю
bff_users_spec_position -> здесь находятся все страници на которых пользователь размещяется с определенном месте на этих страницах
bff_users_tabs -> табы которые возможны у этого пользователя (например на заказчика не может быть страници с портфолио, а у исполнителя может)

Доступы к базе

https://185.4.65.155/myadmin/index.php

'db.name' => 'dev_brigadi_by',
'db.user' => 'dev_brigadi_by',
'db.pass' => 'asdf5a64dsf84a6',

Client's feedback about the contractor Александре Щербине

Quality
Professionalism
Price
Availability
Terms

Выполнено все согласно поставленой задаче. Быстрая связь, конкретные вопросы, супер цена. Рекомендую

Вова Л. Вова Луцьк | Personal Personal project

Freelancer's feedback about the client Вове Луцьке

Payment
Task formulation
Requirements
Availability

Владимир отличный Заказчик. Постоянно на связи, четкие понятные ответы на вопросы. Быстрое принятие работы и оплата.
Очень интересный, непростой проект. Рад что смог помочь. С удовольствием буду сотрудничать в случае новых задаач.

Александр Щербина Александр Щ. | Personal Personal project



  1.  1868 
    1   57   0

    1 day625 ₴Winning proposal


    Ukraine Dnepr | 9 June 2017 |

Client
Вова Луцьк
Ukraine Lutsk  2   0
Project published
9 June 2017
22 views