Naravno da je brze drugo. Zasto? zato sto nema smisla koristiti prepared statement ako neces da cuvas query kesiran.
Ako si vec uradio prepare mysql je taj upit parsirao, proverio sintaksu itd Tako da sledeci put kada kazes execute on zna sta izvrsava i nebakce se tim stvarima, tako da izbegne nepotrebni overhead.
Ako konstantno radis prepare istog upita, gubi se smisao.
PS.
Pogledaj drugu temu (views) bindovi.
Za pitanje da li se automatski brise iz memorije, moj odgovor je 1001% ne
Brise se tek kada kazes DEALLOCATE.
Moram priznati da ne znam da li bi se obrisao pri restartu mysql-a, verovatno da, mada ne mora da znaci.
Off Topic:
joj hvala ti za zadnje dve teme o db... bio sam smoren ko 37 zeceva... malo sam se unormalio dok samo ih citao