Estaba leyendo un tutorial de SQL que usa la palabra clave EXPLAIN para ver cómo se ejecuta una consulta. Lo intenté en SQL Server 2008 sin éxito.SQL Server equivalente a EXPLAIN de MySQL
¿Cómo obtengo el resultado equivalente?
Estaba leyendo un tutorial de SQL que usa la palabra clave EXPLAIN para ver cómo se ejecuta una consulta. Lo intenté en SQL Server 2008 sin éxito.SQL Server equivalente a EXPLAIN de MySQL
¿Cómo obtengo el resultado equivalente?
Creo que la palabra clave EXPLAIN
es un concepto de MySQL; el concepto de servidor Microsoft SQL equivalente es el plan de ejecución.
La forma más sencilla de obtener un plan de ejecución es activar la opción de menú "Mostrar plan de ejecución real" (en el menú de consulta) en el estudio de administración del servidor SQL. Como alternativa se puede leer una guía más detallada sobre la ejecución de los planes aquí:
Este artículo entra en mucho más detalle de lo que los planes de ejecución son, cómo obtener un plan de ejecución, y los diferentes formatos del plan de ejecución.
Debe consultar el plan de ejecución en el servidor SQl. Busque el término en libros en línea para saber cómo usarlo.
Ellos no son tan fáciles de leer, es posible que desee hacer un poco de ressearch, aquí hay un término de búsqueda Google para ayudarle a empezar:
lectura del servidor SQL plan de ejecución
El más cercano declaración equivalente para SQL Server es:
SET SHOWPLAN_ALL (Transact-SQL)
o
SET SHOWPLAN_XML (Transact-SQL)
Desde una ventana de consulta de SQL Server Management Studio, puede ejecutar SET SHOWPLAN_ALL ON
o SET SHOWPLAN_XML ON
y luego realizar su consulta. En ese momento, no devolverá el conjunto de resultados de la consulta, sino el plan de ejecución real. Cuando luego ejecuta SET SHOWPLAN_ALL OFF
o SET SHOWPLAN_XML OFF
y luego ejecuta su consulta, obtendrá nuevamente un conjunto de resultados.
Tenga en cuenta que Microsoft agregó un comando EXPLAIN a la sintaxis TSQL en SQL 2012, sin embargo, solo se aplica a Azure SQL Data Warehouse y Parallel Data Warehouse, por lo que no es el producto RDBMS normal.
Proporciona un plan de ejecución en formato XML y muestra útilmente las partes del plan que se distribuirán en los nodos del almacén.
Fuente: TSQL EXPLAIN
Para (mucho) más información sobre los planes de ejecución, consulte aquí: http://www.simple-talk.com/sql/performance/execution-plan-basics/. En algunas versiones de SSMS, el elemento de menú se llamará 'Mostrar plan de consulta estimado' – Tobiasopdenbrouw
Gracias, lo encontré ahora. @tobia +1, @kragen +1. –
También está disponible en Oracle: 'SET AUTOTRACE OFF --ON' y luego SQL stmt. Puede visualizar el plan con 'SELECT PLAN_TABLE_OUTPUT FROM TABLE (DBMS_XPLAN.DISPLAY());' – Markus