Оптимизация MySQL Query для WordPress для повышения производительности и времени выполнения - PullRequest
0 голосов
/ 09 июля 2019

Я извлекаю некоторые данные из базы данных WordPress с помощью MySQL Query. Запрос занимает слишком много времени и он просто загружается в phpmyadmin. Мне нужна помощь, чтобы улучшить производительность.

Я выполняю запрос MySQL, который извлекает данные из базы данных WordPress. У меня есть высокопроизводительный сервер с 48 ГБ оперативной памяти и 16-ядерным vcpu. Ниже мой запрос.

select 
    main.post_author as agent_id,
    pt.meta_value as portal,


    (
    select count(wp_posts.id)  from wp_posts
    left join wp_postmeta as fdadt ON (wp_posts.id = fdadt.post_id AND fdadt.meta_key in ('hgsc_data_assigned_date','warrantyactivation_data_assigned_date'))
    left join wp_postmeta as fdpt ON (wp_posts.id = fdpt.post_id AND fdpt.meta_key in ('hgsc_portal','warrantyactivation_portal'))
    where ((date_format(fdadt.meta_value,'%Y-%m-%d') >='2019-07-08') and (date_format(fdadt.meta_value,'%Y-%m-%d') <='2019-07-08'))
    and wp_posts.post_author=main.post_author
    and fdpt.meta_value=pt.meta_value
    and wp_posts.post_type in ('hg-scratch-card','hg-warranty-act')
    and wp_posts.post_status='publish' 
    )
    as fresh_data


    from wp_posts main
    LEFT JOIN wp_postmeta as pt ON (main.id = pt.post_id AND pt.meta_key in ('hgsc_portal','warrantyactivation_portal'))

    where 
    main.post_type in ('hg-scratch-card','hg-warranty-act')
    and 
    main.post_status='publish'

    group by agent_id,portal
    order by agent_id asc

Мне нужно добавить еще несколько подзапросов. Мне интересно, можно ли улучшить производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...