sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server:fusión de tablas grandes sin bloquear los datos

Cambie su interfaz para usar NOLOCK o READ UNCOMMITTED al hacer las selecciones .

No puede NOLOCK MERGE, INSERT o UPDATE ya que los registros deben estar bloqueados para realizar la actualización. Sin embargo, puede NOBLOQUEAR las SELECCIONES.

Tenga en cuenta que debe usar esto con precaución. Si las lecturas sucias están bien, adelante. Sin embargo, si las lecturas requieren los datos actualizados, debe seguir un camino diferente y averiguar exactamente por qué la combinación de registros de 3M está causando un problema.

Estaría dispuesto a apostar que la mayor parte del tiempo se dedica a leer datos del disco durante el comando de combinación y/o solucionar situaciones de poca memoria. Es mejor que simplemente agregue más RAM a su servidor de base de datos.

Una cantidad ideal sería tener suficiente RAM para extraer toda la base de datos en la memoria según sea necesario. Por ejemplo, si tiene una base de datos de 4 GB, asegúrese de tener 8 GB de RAM... en un servidor x64, por supuesto.