title: Which DB Junction approach is more efficient in this scenario?
body: <p>In order to avoid soft delete I am creating a recycle bin database. The main database will junction to it. Here is an example of two possible junction approaches, and I was hoping for some input on which would be more efficient?</p>
  
  <p>For simplicity, lets say there are two tables, <code>Order</code> and <code>Invoice</code> (and each invoice only has 1 order).</p>
  
  <pre><code>Order
  -----
  OrderId
  InvoiceId
  Description
  Date
  NumberOfStuffOrdered
  
  Invoice
  -------
  InvoiceId
  Description
  Price
  Tax
  Shipping
  </code></pre>
  
  <p>For a junction of these tables to the recycle bin, I was unsure which approach to take.</p>
  
  <p>Approach 1:</p>
  
  <pre><code>DeletedOrder
  ------------
  DeletedOrderId
  OrderId
  RecycleBinId
  Date
  Reason
  
  DeletedInvoice
  --------------
  DeletedInvoiceId
  InvoiceId
  RecycleBinId
  Date
  Reason
  </code></pre>
  
  <p>Approach 2:</p>
  
  <pre><code>DeletedRecords
  --------------
  DeletedRecordsId
  RecordPrimaryKeyId
  RecycleBinId
  RecordType
  Date
  Reason
  </code></pre>
  
  <p>Although Approach 1 will take more table space in the database, it will have less rows per table and have fast query times as the system matures. Approach 2 consolidates having to make an extra deleted table for each table in the database, but as the system matures will grow in size and become slow to query.</p>
  
  <p>Which one will be more efficient overall, or is there a better way to approach this?</p>