Будут ли несколько запросов «foreach» в PHP замедлять загрузку страницы? - PullRequest
1 голос
/ 30 января 2010

При запросе данных через PHP, значительно ли это замедлит время загрузки страницы, если я могу элементы по отдельности?

Например, потянув три предмета одновременно:

<?php foreach ($example->get_items(0,3) as $item): ?>

По сравнению с вызовом каждого в отдельности:

<?php foreach ($example->get_items(0,1) as $item): ?>
<?php foreach ($example->get_items(0,1) as $item): ?>
<?php foreach ($example->get_items(0,1) as $item): ?>

Ответы [ 2 ]

3 голосов
/ 30 января 2010

Если вы спрашиваете, влияют ли накладные расходы трех последовательных структур цикла на одну и ту же те же данные или на 3-4 элемента по сравнению с вызовом их по отдельности, это скажется на производительности страницы.

Избыточный код, обходы на другие серверы и т. Д. Влияют на производительность страницы. Неадекватное кэширование повлияет на производительность страницы. Но накладные расходы на операторы и вызовы функций (если вы не хорошо разбираетесь в десятках тысяч) - это микрооптимизация и не имеет значения.

Таким образом, если вы выбираете одну строку за раз из запроса и выполняете этот запрос сто раз, затем меняете этот запрос так, чтобы он вызывался один раз, но возвращали все сто строк, тогда это то, что будет иметь значение.

Но не беспокойтесь о мелочах, подобных этому, если / иначе против коммутатора и других, чем микро-проблем. Беспокойся больше о читабельности и правильности.

0 голосов
/ 30 января 2010

Циклы всегда будут замедлять загрузку вашей страницы, однако я не верю, что разница между циклом и ручным вызовом каждого из 3 элементов будет заметна.

Я бы пошел с подходом, который делает ваш код чище:

<?php foreach ($example->get_items(0,3) as $item): ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...