Оптимизация SQL запроса для mysql
Нужно оптимизировать SQL запрс - уменьшить скорость его выполнения, который выполняется больше 5 секунд нужно уменьшить его выполнение до 1 секунды и меньше.
Пишите сроки и бюджет. Выбранному кандидату предоставлю доступ к базе и файлу php где хранится запрос
SELECT `p`.`ID` ,
`p`.`post_title` AS `title`,
`mprice`.`meta_value` as `price` ,
`currency`.`symbol` as `symbol`,
DATE_FORMAT(`mdate`.`meta_value`, ‘%d.%m.%Y’) as `date_start`,
`agenstvo`.`post_title` AS `agenstvo`,
`moptionhot`.`meta_value` as `optionhot`,
IF(`bc`.`date`,`bc`.`date`,`p`.`post_date`) as `orderdate`
FROM wp_posts p
LEFT JOIN `wp_balance` `bc` ON ( `p`.`ID` = `bc`.`postid` and `bc`.`id` = (
SELECT id FROM `wp_balance` WHERE `postid` = `p`.`ID` and `status`=‘4’ and `type_services`=‘16’ ORDER BY date DESC LIMIT 1
) )
JOIN wp_term_relationships `tr` ON (`p`.`ID` = `tr`.`object_id`)
JOIN wp_term_taxonomy `tt` ON (`tt`.`term_id` IN (26,21,23,18,13,15) AND `tt`.`taxonomy` = ‘category’ AND `tr`.`term_taxonomy_id` = `tt`.`term_taxonomy_id` )
JOIN wp_postmeta `mparentagenstvo` ON (`p`.`ID` = `mparentagenstvo`.`post_id` and `mparentagenstvo`.`meta_key`=‘parentagenstvo’)
JOIN wp_posts `agenstvo` ON (`agenstvo`.`ID`=`mparentagenstvo`.`meta_value` )
JOIN wp_postmeta `mprice` ON (`p`.`ID` = `mprice`.`post_id` and `mprice`.`meta_key`=‘price’)
JOIN wp_postmeta `mcurrency` ON (`p`.`ID` = `mcurrency`.`post_id` and `mcurrency`.`meta_key`=‘currency’)
JOIN `wp_currency` `currency` ON (`currency`.`id`=`mcurrency`.`meta_value` )
JOIN wp_postmeta `mdate` ON (`p`.`ID` = `mdate`.`post_id` and `mdate`.`meta_key`=‘date_start’)
LEFT JOIN wp_postmeta `moptionhot` ON (`p`.`ID` = `moptionhot`.`post_id` and `moptionhot`.`meta_key`=‘optionhot’)
WHERE `p`.`post_type`=‘post’
AND `p`.`post_status` = ‘publish’
/*AND `moptionhot`.`meta_value` IS NULL*/
ORDER BY `orderdate` DESC limit 13;