Mysql & codeigniter загружаются очень медленно - PullRequest
0 голосов
/ 21 февраля 2019

Я разработал проект интернет-магазина, но у меня проблема с медленным ответом на запрос.Я использую платформу codeigniter и использую $this->output->enable_profiler(TRUE);

Это то, что я получаю в виде запроса:

SELECT `products`.`id`, `products`.`image`, `products`.`onsale`, `products`.`folder`, `products`.`productRating`, `products`.`pro_vat`, `products`.`pro_code`, `products`.`quantity`, `products`.`shop_categorie`, `products_translations`.`title`, `products_translations`.`price`, `products_translations`.`pdv`, `products_translations`.`old_price`, `products_translations`.`description`, `products_translations`.`shortdescription`, `products`.`url`, `brands`.`image` as `bimage`
FROM `products`
LEFT JOIN `products_translations` ON `products_translations`.`for_id` = `products`.`id`
LEFT JOIN `brands` ON `brands`.`id` = `products`.`brand_id`
ORDER BY `position` ASC
LIMIT 20 

, и его загрузка занимает более 6 секунд.Просто упомяну, у меня около 2,500 наименований в таблице продуктов.

Можно ли как-то сократить время загрузки?

1 Ответ

0 голосов
/ 21 февраля 2019

Я бы также сказал, что вы должны сначала проверить индексы.
Хотя я вижу, что вы используете идентификаторы только в своих предложениях where.Если вы правильно настроили первичный ключ, то это не должно быть проблемой.

Вы проверили ресурсы своего сервера?

Если нет проблем с вашим сервером и индексами, вам следует начать использовать представления в вашей базе данных, чтобы избежать «левых соединений» каждый раз, когда вы запускаете запрос.

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