I'm confused by the output of "set statistics time on" when executing a
stored proc. For example:

create proc disc_price
as
update temp_titles
set price=price*$.9
where type="adventure"
go
set statistics time on
go
exec disc_price
-----
Parse and Compile Time 0.
SQL Server cpu time: 0 ms.
Parse and Compile Time 0.
SQL Server cpu time: 0 ms.

Execution Time 1.
SQL Server cpu time: 100 ms. SQL Server elapsed time: 30 ms.

(550 rows affected)
Execution Time 0.
SQL Server cpu time: 0 ms. SQL Server elapsed time: 30 ms.
(return status = 0)
-----
Note that there are 2 elapsed times. Do I add these to get the overall
elapsed time or use the last one? (That is, is the elapsed time
30ms+30ms=60ms or
just the last time which is 30 ms.)

I'm concerned by the output as stored procs are suppose to be faster
than the batch equivalent:

update temp_titles
set price=price*$.9
where type="adventure"
-----
(550 rows affected)
Parse and Compile Time 1.
SQL Server cpu time: 100 ms.

Execution Time 0.
SQL Server cpu time: 0 ms. SQL Server elapsed time: 30 ms.
-----
Note that the equivalent batch only has 1 elapsed time: 30 ms.

So, how should I compute the elapsed time in the stored proc case?

Thanks in advance,

Don