Agregar RAM al servidor SQL arruina el rendimiento

Agregar RAM al servidor SQL arruina el rendimiento

Configuración actual:

Tenemos una tabla muy grande que tiene un pk bigint y un campo nvarchar(1025). El único índice es el PK. Tenemos otra tabla que es bigint_fk de la primera tabla con una suma de verificación del campo de cadena.

create table BigStringTable (
  id bigint identity(1,1) not null,
  dataString nvarchar(1025) not null,
  primary key clustered (id));
);

create table BigStringTableHashes(
 id bigint  not null,
  dataStringHash int not null,
      CONSTRAINT [PK_dataStringHash] PRIMARY KEY NONCLUSTERED 
      (
      [claid] dataStringHash
       )
    );

Entonces podrías consultar algo como:

SELECT datastring FROM BigStringTable AS bst
JOIN BigStringTableHashes AS hashes ON bst.id = hashes.id
WHERE hashes.dataStringHash = checksum(<Whatever String>) AND bst.dataString = '<Whatever String>'

La mesa esmuygrande.

Tenemos un servidor muy caro con 1,9 TB de RAM en Amazon ejecutando todo esto. Versión:

Microsoft SQL Server 2017 (RTM-CU13) (KB4466404) - 14.0.3048.4 (X64)   Nov 30 2018 12:57:58   Copyright (C) 2017 Microsoft Corporation  Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2019 Datacenter 10.0 <X64> (Build 17763: ) (Hypervisor) 

Sin embargo, si añadimos más de unos 900 GB de RAM, el rendimiento se detiene repentinamente. Y la consulta anterior comienza a leer cantidades masivas de datos. Sé que al cambiar la memoria máxima se borrará el caché, pero nunca se recupera hasta que disminuimos la memoria máxima y reiniciamos.

No hay nada más en este servidor.

Hasta donde puedo decir, los planes de consulta son los mismos, pero es difícil confirmarlo porque no podemos dejarlo en este estado de no rendimiento con demasiada frecuencia, lo que genera interrupciones en los clientes.

Lo que no entiendo es cómo agregar RAM arruina el rendimiento.

Respuesta1

Tal vez intente no ejecutar una función en las cosas y tal vez considere particionar mediante una clave útil si aún no lo ha hecho.

¿Qué dice una explicación?

Espero que ayude o genere ideas. Por cierto: Santa vaca. Eso tiene que ser costoso con AWS. Esa es una cantidad increíble de RAM.

información relacionada