Publicaciones etiquetadas ‘Index’

Crear indice RecId en tablas com ModifiedDateTime

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en SQL Server

En Dynamics Ax 2009, si utilizamos Microsoft SQL Server 2005 como motor de base de datos, tenemos que crear el indice por RecId en todas aquellas tablas que tengamos configurado los de Fecha y Hora de Creación / Modificación.

Esto es debido a que cada vez que realizamos un Insert o Update en la base de datos, cuando la tabla tiene activos estos campos, se ejecuta la siguiente sentencia SQL

SELECT CreatedDateTime From (nombre de la tabla) Where RecId = (recid) and DataAreaid = (dataAreaid)

Si no tenemos un indice por RecId, para una simple sentencia de actualización de un registro, SQL realiza un scan de toda la tabla, siendo esto un grave problema de rendimiento en tablas con muchos registros

Si utilizamos como motores de base de datos SQL 2008 u Oracle, este problema no lo tendremos, ya que el kernerl utiliza parámetros de tipo OUTPUT en las sentencias para obtener los valores de creación y modificación de base de datos, no siendo necesara la creación de un indice por RecId