Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to optimize massive DELETE operation
Message
From
26/08/2011 08:41:22
 
General information
Forum:
ASP.NET
Category:
Databases
Miscellaneous
Thread ID:
01521854
Message ID:
01521864
Views:
38
>>Hi,
>>I have SQL Server 2008, and want to delete 200 000 records using DELETE FROM [table] WHERE [table].[manufacturer_id]=@tnManufacturerId
>>And this operation is too slow!.. more then 1 minute.
>>I had try to delete it partial within WHILE.. by 1000 records per transaction, but it bring me no performance.
>>I had clustered unique index by ID and also my manufacturer_id I have an index.
>>
>>Is there way to increase performance of DELETE FROM ?
>>
>>Thanks
>>Denis Gavrikov
>
>Try deleting 10K records at once without a loop.

Hi Naomi,
I wrote SP like this
ALTER PROCEDURE [dbo].[sp_deleteartikelbymanufacturer] @tnManufacturerId int
AS
BEGIN
WHILE (SELECT COUNT(*) FROM ERPBESTBUY.dbo.vbestbuy WHERE ERPBESTBUY.dbo.vbestbuy.manufacturer_pk_id=@tnManufacturerId) > 0
BEGIN
	DELETE TOP (1000) 
	FROM ERPBESTBUY.dbo.vbestbuy WITH (TABLOCK)
	WHERE ERPBESTBUY.dbo.vbestbuy.manufacturer_pk_id=@tnManufacturerId 
      CONTINUE
END
END
it does not increase performance.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform