O uso de SELECT COUNT (*) antes de SELECT INTO é mais lento que o uso de Exceções?
Minhasultima questão me fez pensar.
1)
SELECT COUNT(*) INTO count FROM foo WHERE bar = 123;
IF count > 0 THEN
SELECT a INTO var FROM foo WHERE bar = 123;
-- do stuff
ELSE
-- do other stuff
END IF;
2)
BEGIN
SELECT a INTO var FROM foo where bar = 123;
-- do stuff
EXCEPTION
WHEN no_data_found THEN
--do other stuff
END ;
Suponho que o número 2 seja mais rápido, pois requer menos uma viagem ao banco de dados.
Existe alguma situação em que eu seria superior, que eu não estou considerando?
EDIT: Vou deixar esta pergunta travar por mais alguns dias, para reunir mais votos nas respostas, antes de responder.