Cytat
Co to znaczy Cachujesz?
Cachowanie jest to proces przechowywania danych, które zostały poddane różnym operacjom.
W tym przypadku pobierasz listę wszystkich ID i 'zapamiętujesz' ją w pamięci. Następnym razem jak skrypt zostanie uruchomiony sprawdzasz czy w pamięci zapamiętana jest ta lista ID jeżeli tak to nie wykonujesz zapytanai do bazy(nie obciążasz jej) tylko wczytujesz te dane z pamięci.
CacheList of PHP acceleratorsCytat
pkt 3. skąd funkcja array_rand będzie wiedziała, jakie ID spełniają mój warunek ? nawet co 5 ID może nie spełniać tego warunku.
Z punktu 1.
Robisz select w stylu
SELECT id FROM tabela WHERE dzial=komputer
Zwraca ID wszystkich rekordów, które spełniają kryteria, czyli należą do działu komputer. Następnie za pomocą array_rand() losujesz z tej listy id elementów.