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

Как ефективно да изтривате редове, като НЕ използвате Truncate Table в таблица с 500 000+ реда

Извикване на DELETE FROM TableName ще направи цялото изтриване в една голяма транзакция. Това е скъпо.

Ето още една опция, която ще изтрие редове на групи:

deleteMore:
DELETE TOP(10000) Sales WHERE toDelete='1'
IF @@ROWCOUNT != 0
    goto deleteMore


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Полезни ли са функциите за пространствени данни на SQL Server 2008 за заявки за картографиране?

  2. По-добре ли е да направите equi join в клаузата from или where

  3. За Nvarchar(Max) получавам само 4000 знака в TSQL?

  4. Как да зададете инвариантната култура, когато използвате FORMAT() в SQL Server

  5. ROUND() Примери в SQL Server