Мне нужно знать, что является самым быстрым способом подсчета строк представлений в соответствии с каждым продуктом. Я попытался запустить запрос, соединяя его между двумя таблицами. A 'product_db' и 'product_views'. Но для завершения запроса потребовалось около минуты.Каков самый быстрый способ подсчета количества строк в mySQL
Вот мой код:
select *,
count(product_views.vwr_id) as product_viewer,
from product_db
inner join product_viewer on product_db.id=product_views.vwr_cid
where product_id='$pid' order by id desc
Где $ Pid 'является идентификатор продукта.
Это моя таблица товаров product_views.
Мне нужно включить колонку зрителей в моей таблице. Но загрузка занимает очень много времени. Я либо пытался подсчитать отдельный запрос, но и не повезло. Пожалуйста, вы предлагаете более блестящий путь.
С уважением,
Почему вы используете агрегатную функцию без GROUP BY? Вы понимаете, что это не даст вам правильный результат? – Taryn
Если вы опускаете функцию count, все равно требуется такое же количество времени для запуска? Я думаю, вам может понадобиться индексировать ваши таблицы. Запустите тот же код с помощью EXPLAIN, и он может дать вам подсказку. Или опубликуйте результаты здесь, и мы можем помочь. – Tom
@bluefeet, я пробовал либо с, либо без группы. И результат не меняется - он все еще медленный. – Wilf