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

Операцията за изтриване в SQL е много бавна

Неща, които могат да причинят бавно изтриване:

  • изтриване на много записи
  • много индекси
  • липсващи индекси на външни ключове в дъщерни таблици. (благодаря на @CesarAlvaradoDiaz, че спомена това в коментарите)
  • блокировки и блокиране
  • задейства
  • каскадно изтриване (тези десет родителски записа, които изтривате, може да означават изтриване на милиони дъщерни записи)
  • Дневникът на транзакциите трябва да се увеличи
  • Много външни ключове за проверка

Така че вашият избор е да разберете какво блокира и да го поправите или да стартирате изтриванията в извънработно време, когато те няма да пречат на нормалното производствено натоварване. Можете да стартирате изтриването на групи (полезно, ако имате тригери, каскадно изтриване или голям брой записи). Можете да пуснете и да създадете отново индексите (най-добре, ако можете да правите това и в извънработно време).



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

  2. Не може да се влезе в SQL Server + SQL Server Удостоверяване + Грешка:18456

  3. Възпроизвеждане на видео файл от sql сървър blob чрез ashx манипулатор с помощта на HTML5 Video Tag

  4. MS Access извикване на SQL Server съхранена процедура

  5. Кой е най-добрият начин за извличане на записи групово от SQL Server