To delete a large number of records in SQL Server, the fastest way is usually to use the 
DELETE statement with a WHERE clause that specifies the criteria for the records to be deleted.

However, there are a few things you can do to optimize the deletion process and make it faster:

1.     Use batches: Instead of deleting all the records in one go, break them up into smaller batches using a loop or cursor. This can help reduce the impact on server resources and improve performance.

example:

DECLARE @BatchSize INT = 10000
DECLARE @RowsAffected INT = 1
WHILE @RowsAffected > 0
BEGIN
DELETE TOP (@BatchSize) FROM Sales.SalesOrderDetail WHERE ProductID = 770
SET @RowsAffected = @@ROWCOUNT  END

2.       Use transactions: Wrap your delete statement within a transaction to ensure that the delete operation is atomic and can be rolled back if needed.

example:

BEGIN TRANSACTION

DELETE FROM Sales.SalesOrderDetail WHERE ProductID = 770

COMMIT TRANSACTION

3.       Drop Indexes: If the table you are deleting from has indexes, consider dropping them before the deletion operation and then recreating them afterwards. This can help speed up the delete operation as it will not need to update the index for each deleted record.

 

ALTER INDEX IX_SalesOrderDetail_ProductID ON Sales.SalesOrderDetail DISABLE

DELETE FROM Sales.SalesOrderDetail WHERE ProductID = 770

ALTER INDEX IX_SalesOrderDetail_ProductID ON Sales.SalesOrderDetail REBUILD

 

4.       Use the TRUNCATE command: If you want to delete all the records in a table, you can use the TRUNCATE command instead of DELETE. TRUNCATE is generally faster than DELETE because it removes all the data in one operation, whereas DELETE performs a row-by-row deletion.

TRUNCATE TABLE Sales.SalesOrderDetail

5.       Use the NOLOCK hint: If you can tolerate dirty reads, consider using the NOLOCK hint in your DELETE statement. This tells SQL Server not to lock the table or page being read, which can help speed up the delete operation.

DELETE FROM Sales.SalesOrderDetail WITH (NOLOCK) WHERE ProductID = 770