Это должно сделать (не проверено):
for($i = 1; $i <= $count - 3; $i++) {
for($j = $i + 1; $j <= $count; $j++) {
// i,j query
if($j > $count - 2) {
continue;
}
for($k = $j + 1; $k <= $count; $k++) {
// i,j,k query
if($k > $count - 1) {
continue;
}
for($l = $k + 1; $l <= $count; $l++) {
// i,j,k,l query
}
}
}
}
Обратите внимание, что запросы больше не находятся в своем первоначальном порядке.
Как уже было сказано, оптимизировать это невозможнодалее, не зная запросов, которые вы выполняете.