Whenever a client application needs to send Transact-SQL to SQL Server, send it in the form of a stored procedure instead of a script or dynamic Transact-SQL. This not only reduces network traffic (only the EXECUTE or CALL is issued over the network), but it speeds up the Transact-SQL because the code in the stored procedure residing on the server is already pre-compiled. In addition, after a stored procedure is run for the first time, it stays cached in SQL Server