Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Hapus pernyataan dalam SQL sangat lambat

Hal-hal yang dapat menyebabkan penghapusan menjadi lambat:

  • menghapus banyak catatan
  • banyak indeks
  • indeks yang hilang pada kunci asing di tabel anak. (terima kasih kepada @CesarAlvaradoDiaz telah menyebutkan ini di komentar)
  • kebuntuan dan pemblokiran
  • pemicu
  • penghapusan berjenjang (sepuluh catatan induk yang Anda hapus dapat berarti jutaan catatan anak terhapus)
  • Log transaksi perlu bertambah
  • Banyak kunci Asing untuk diperiksa

Jadi pilihan Anda adalah mencari tahu apa yang memblokir dan memperbaikinya atau menjalankan penghapusan di luar jam kerja ketika mereka tidak akan mengganggu beban produksi normal. Anda dapat menjalankan penghapusan dalam batch (berguna jika Anda memiliki pemicu, penghapusan berjenjang, atau sejumlah besar catatan). Anda dapat menghapus dan membuat ulang indeks (paling baik jika Anda dapat melakukannya di luar jam kerja juga).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Panduan:Menyiapkan Ketersediaan Tinggi SQL Server

  2. SQL kolom tunggal dibagi menjadi beberapa kolom

  3. Buat Tampilan di SQL Server 2017

  4. Menyimpan kolom 'Titik' dari ShapeFile

  5. Mengeksekusi proc yang tersimpan dari DotNet membutuhkan waktu sangat lama tetapi di SSMS itu langsung