Закрытие соединений
Здравствуйте. Вопрос в дополнение к этому.
Суть такова. Есть вот такой код:
$result_id_position = mysqli_query($db, "SELECT id_position FROM category_position WHERE id_category = '$_GET[category]'");
$id_position = mysqli_fetch_row($result_id_position);
if (empty($id_position[0])) {
$positions = "null";
} else {
$positions = array();
do {
$result_position = mysqli_query($db, "SELECT * FROM positions WHERE id = '$id_position[0]'");
$position = mysqli_fetch_row($result_position);
$positions[$position[0]] = array(
"title" => $position[1],
"class" => $position[0] == $_GET['position'] ? "active" : "",
"amount" => mysqli_fetch_array(mysqli_query($db, "SELECT COUNT(id) FROM goods WHERE id_position='$position[id]' "))[0]
);
} while ($id_position = mysqli_fetch_row($result_id_position));
$result_position->close();
}
$result_id_position->close();
Вопросы следующие:
1. Насколько сильно данный код грузит сервер, ведь здесь в цикле есть запрос, и можно ли этот код как-то оптимизировать?
2. В цикле есть запрос, который как бы не присваивался никакой переменной "amount" => mysqli_fetch_array(mysqli_query($db, "SELECT COUNT(id) FROM goods WHERE id_position='$position[id]' "))[0]
, нужно ли его закрывать?
3. Нужно ли в конце писать mysqli_close($db);
, если да, то зачем?