title: Search item from datatable(cache object) vs database
body: <p>Current I have a large data that stored inside database.</p>
  
  <p>This set of data (3000 records) will be retrieve by user frequently.</p>
  
  <p>Currently the method that I'm using right now is:</p>
  
  <ol>
  <li>Retrieve this set of records from database</li>
  <li>Convert into datatable</li>
  <li>Store into a cache object</li>
  <li><p>Search result from this cache object base on query</p>
  
  <pre><code>CachePostData.Select(string.Format("Name LIKE '%{0}%'", txtItemName.Text));
  </code></pre></li>
  <li><p>Bind the result to a repeater (with paging that display 40 records per page)</p></li>
  </ol>
  
  <p>But I notice that the performance is not good (about 4 seconds on every request). So, I am wondering is there any better way to do this? Or I should straight away retrieve the result from the database for every query?</p>