I have a complicated data structure on SQL Server 2000 which, at times can go four levels deep. It is all designed using foreign keys, as expected. I am having difficulty getting deletion to work from the top level, which is an orders table. Some child tables have cascade deletes on, and some are dealt with by native C# code. No matter what I try, it still takes upto fiveminutes to delete an order. Any ideas as to why?