Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server - Обединяване на големи таблици без заключване на данните

Променете предния си край, за да използвате NOLOCK или READ UNCOMMITTED, когато правите изборите .

Не можете да NOLOCK MERGE, INSERT или UPDATE, тъй като записите трябва да бъдат заключени, за да се извърши актуализацията. Можете обаче да НЕ ЗАКЛЮЧИТЕ ИЗБРАНИТЕ.

Имайте предвид, че трябва да използвате това с повишено внимание. Ако мръсните четения са наред, тогава продължете. Ако обаче четенията изискват актуализираните данни, тогава трябва да тръгнете по различен път и да разберете точно защо обединяването на 3M записи причинява проблем.

Склонен съм да се обзаложа, че по-голямата част от времето се изразходва за четене на данни от диска по време на командата за сливане и/или работа в ситуации на недостиг на памет. Може би е по-добре просто да напълните повече ram в сървъра на вашата база данни.

Идеалното количество би било да имате достатъчно RAM, за да изтеглите цялата база данни в паметта, ако е необходимо. Например, ако имате 4 GB база данни, тогава се уверете, че имате 8 GB RAM.. в x64 сървър, разбира се.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изпълня GROUP BY на колона с псевдоним в MS-SQL Server?

  2. Не може да се зареди файл или сборка „crystal solutions.windows.forms,version=13.0.2000.0“

  3. Проблем с групово вмъкване на редов терминатор

  4. SQL, ако записът е равен на записа преди него

  5. Експортиране на данни от SQL Server Express в CSV (необходими са кавички и екраниране)