Some databases like sybase we use 'go' statement as in oracle we use a semicolon to execute the a statement. After execution of a statement changes are not made permanent to the database to make the changes permanent so that even after ending the session next time one logs in one finds the changes made in the previous session; one needs to Commit the changes; so that all the changes are recorded/written/overwritten to the database.
Commit to like making all the changes permanently in the Server...
But in case of GO statement which is available In SQL Server(TSQL) the set of steps before the GO statement is complied at once and sent to server...
I mean from the beginning of the script or any other GO statement(Whichever is closer) all statements are complied into one execution plan and sent to the server independent of the other batches...