[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как еще оптимизировать sql
Markus111
Здравствуйте

$categories = '';
if($id != 'all'){
$categories = " and c.offer_categories_id = '".$id."'";
}
$sql = "SELECT c.img,c.payment_status,c.payment,c.id_region,c.id,c.offers,
(select count(*) from "
.$_SESSION['prefix']."tbl_view_visitor v
left join "
.$_SESSION['prefix']."tbl_form ff on ff.id = v.id_form
where ff.id_company = c.id and cat = 'visitor' and aid > 0 and v.date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()) as count_view,
(select count(*) from "
.$_SESSION['prefix']."tbl_lids ll
left join "
.$_SESSION['prefix']."tbl_form ffff on ffff.id = ll.id_form
where status = '1' and ffff.id_company = c.id and ll.aid > 0 and ll.date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()) as count
FROM "
.$_SESSION['prefix']."tbl_company c
left join websila_tbl_form f on f.id_company = c.id
where c.active_offers = '1' "
.$categories." group by c.id";


_____________
https://t.me/pump_upp
Zzepish
Markus111
отформатировать для начала?
Markus111
Очень медленно работает. Может разбить на 3 запроса и работать потом с массивами?

_____________
https://t.me/pump_upp
Игорь_Vasinsky
может подумать о индексах?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Markus111
индексы создавал, все равно долго

_____________
https://t.me/pump_upp
inpost
Markus111
date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
Лучше по дню фильтровать, тогда результат будет кешироваться.

Ты смотрел. поиск идёт по всем индексам? Без индексов запросов нет?
Может быть результат кешировать на стороне ПХП, если он частый.

И последнее, в большинстве своём несколько небольших запросов будут работать быстрее, чем сложный с подзапросами.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.