title: T-SQL Optimize DELETE of many records
body: <p>I have a table that can grew to millions records (50 millions for example). On each 20 minutes records that are older than 20 minutes are deleted.</p>
  
  <p>The problems is that if the table has so many records such deletion can take a lot of time and  I want to make it faster.</p>
  
  <p>I can not do "truncate table" because I want to remove only records that are older than 20 minutes. I suppose that when doing the "delete" and filtering the information that need to be delete, the server is creating log file or something and this take much time?</p>
  
  <p>Am I right? Is there a way to stop any flag or option to optimize the delete, and then to turn on the stopped option?</p>