Data coming in from 3rd party systems may not be coming in as a table. Sometimes, raw data is also coming in as a heap – a table with no primary key and no clustered index. Once data is processed, we might be deleting data from this heap (not truncating, but deleting). When deleting large amounts of data from a table, we have a couple of very efficient mechanisms, but deleting data from a heap requires some out-of-the-box line of thought.