Как использовать цикл PHP через запрос вместо того, чтобы все результат в массив, то зацикливание через массивКак с помощью PHP-кода и MySQL?
Как я использовать массив и цикл выглядит так:
<?php $userInfos = $qry->querySelect(SQL CODE HERE);
foreach($userInfos as $uInfo)
{
$fName = $uInfo['fName'];
$lName = $uInfo['lName'];
$gender = $uInfo['gender'];
?>
First name is: <? echo $fName; ?> and Last name is <? echo $lName; ?>.
<?php } ?>
Я хотел чтобы лучше понять, как цикл PHP через запрос лучше, чем массив. Переадресуйте меня на какой-то пример или, возможно, с включенным кодом MySQL.
Как я могу преобразовать вышеуказанный PHP-код, чтобы быть более эффективным, если я потянул миллионы записей?
Большое спасибо !.
просто убедитесь, что не строят запрос с * (все столбцы), а только те, которые вам нужны. Кроме этого, вам нужно запустить запрос к базе данных и позволить mysql возвращать массив php, а затем цикл через этот массив, как вы уже делаете с querySelect, я думаю. – smozgur
Я просто хотел знать, есть ли какая-либо польза, перейдя через запрос вместо массива, который содержит все значения? – danidee
@ danidee: Да, есть преимущество. Преимущество цикла выборки состоит в том, что она требует * меньше * памяти. С помощью цикла выборки мы можем обрабатывать каждую строку по мере ее извлечения, а затем отбрасывать ее и повторно использовать эту память для следующей строки. Одновременно мы должны хранить только «одну строку». С помощью fetchAll в массив, который потенциально будет требовать распределения нагрузки на память, будет выделен массив hugh jass, содержащий * каждую * перевернутую строку, прежде чем мы обработаем первую строку. (Таким образом, нет никакой разницы, если у вас есть неограниченное количество доступной памяти, и она не может использоваться ни для чего другого). – spencer7593