Как Избежать Sql-Запросов Внутри Циклов

В этой статье я попытаюсь показать, как избежать одного из признаков «загнивания» кода, а именно SQL-запросов внутри циклов.

Примеры будут на простом PHP без использования ООП.

Это значительно облегчит понимание.

Чтение займет от 5 до 10 минут.



Почему следует избегать запросов внутри циклов?

Все очень просто.

Каждый запрос — это трата времени на «подготовительные» и «финальные» операции доступа к базе данных.

Предположим, что у каждого товара есть отдельная таблица с картинками, скидками и некоторыми опциями (например, выбором цвета платья).

То есть для получения информации о каждом товаре вам потребуется выполнить 3 запроса.

Те.

300 запросов на отображение 100 товаров + запрос на получение списка товаров.

Всего 301 запрос на 100 товаров.

И как следствие значительное снижение производительности вашего приложения.

Этого можно и нужно избегать.

Ниже приведен фрагмент кода из OpenCart 3:

   

public function getProducts($data = array()) { //.



Теги: #php #MySQL #php #MySQL
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.