views:

44

answers:

3

Hi

I've looked everywhere for an answer and cannot find one.

I was reading an sql tutorial which used the keyword EXPLAIN to see how a query is executed. I tried the in SQL Server 2008 with no success.

So my question is. What word would I use to get the equivelant result?

Thank you in adv.

+3  A: 

I believe that the EXPLAIN keyword is an MySQL concept - the equivalent Microsoft SQL server concept is the execution plan.

The simplest way of getting an execution plan is to turn on the "Show actual execution plan" menu item (in the query menu) in SQL server management studio. Alternatively you can read a more in-depth guide on execution plans here:

This article goes into a lot more detail on what execution plans are, how to obtain an execution plan, and the different execution plan formats.

Kragen
For (a lot) more info on execution plans, see here: http://www.simple-talk.com/sql/performance/execution-plan-basics/. In some versions of SSMS the menu item will be called 'Display Estimated Query Plan'
Tobiasopdenbrouw
Thanks, found it now. @tobia +1, @kragen +1.
Ash Burlaczenko
A: 

You need to look at the Execution plan in SQl Server. Look up the term in books online for how to use it.

They are not so simple to read, you might want to do some ressearch, here's a google search term to get you started:

reading execution plan sql server

HLGEM
A: 

The MySql EXPLAIN statement can be used either as a synonym for DESCRIBE or as a way to obtain information about how MySQL executes a SELECT statement.

The closest equivalent statement for SQL Server is:

SET SHOWPLAN_ALL (Transact-SQL)
or
SET SHOWPLAN_XML (Transact-SQL)

From a SQL Server Management Studio query window, you could run SET SHOWPLAN_ALL ON or SET SHOWPLAN_XML ON and then your query. At that point It will not return the result set of the query, but the actual execution plan. When you then run SET SHOWPLAN_ALL OFF or SET SHOWPLAN_XML OFF and then run your query, you will then again get a result set.

KM