Saltar al contenido

Paralelismo de SQL Server para operaciones DML

Basta ya de indagar en otros sitios ya que estás al lugar justo, tenemos la respuesta que quieres hallar pero sin complicaciones.

SQL Server admite el paralelismo para algunos de sus físico operadores.

Las sentencias DML, en un alto nivel, son lógico operaciones. En otras palabras, usted especifica qué quieres que termine, no cómo está hecho. Mientras se mantenga la operación lógica, SQL Server es libre de satisfacer la declaración utilizando cualquier conjunto de físico operadores que considere apropiados, eso se aplica tanto a DML como a DDL.

SQL Server usa la configuración del servidor de umbral de costo para considerar usando paralelismo para los operadores físicos elegidos en el plan de consulta. No hay diferencia en lo que se refiere al paralelismo entre DDL y DML, porque como dije, SQL Server paraleliza el físico operaciones (es decir, una reconstrucción de índice puede utilizar el mismo operador físico Index Scan como un SELECT o UPDATE consulta podría).

Entonces, la respuesta corta es sí, SQL Server poder paralelice DML, pero aparte de la configuración del umbral de costo, tiene muy poco control sobre él. (Dicho esto, puede ser restringido usando cosas como MAXDOP sugerencias.)


Relacionado, pero un poco aparte: para un plan de consulta que incluye operadores paralelos, el DOP en el que se ejecuta la consulta se selecciona dinámicamente en el momento de la ejecución, no en el momento de la compilación del plan.

De acuerdo, mirando a mi alrededor, puedo confirmar que tiene razón. DML se puede ejecutar en paralelo.

Aquí está la confirmación oficial tomada de http://technet.microsoft.com/en-us/magazine/dd320292.aspx

Sin embargo, ciertos tipos de declaraciones no se pueden procesar en paralelo a menos que contengan cláusulas. Por ejemplo, UPDATE, INSERT y DELETE normalmente no se procesan en paralelo, incluso si la consulta relacionada cumple con los criterios. Pero si las sentencias UPDATE o DELETE contienen una cláusula WHERE, o una sentencia INSERT contiene una cláusula SELECT, WHERE y SELECT se pueden ejecutar en paralelo. En estos casos, los cambios se aplican en serie a la base de datos.

SQL Server 2014 admite DML paralelo en forma de SELECT INTO y SQL Server 2016 admite INSERT paralelos en el montón a través de INSERT SELECT siempre que se use la sugerencia TABLOCK en la tabla de origen, esto también funciona en almacenes de columnas agrupadas, todavía tengo que probar esto aunque con índices agrupados.

Reseñas y valoraciones

Te invitamos a añadir valor a nuestra información participando con tu veteranía en los comentarios.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *