Query and index optimization for a table containing 10 million records I was trying to retrieve data from a table A to retrieve data for 1 month, which has around 10 million records and 21 indexes built on it, It took me 3 min to retrieve around 20 columns and total of 300 K records from that table A joined with some other table B which has around 40000 records.

We are using SQL Server 2012 standard edition.

Will like to know how can I improve the query execution time.

Query plan can be found in the below link :

Query Plan

Server information  :
Server Info
The scan of itt is expensive:



So to take advantage of an index or partition using itt.ForwardFeed,
change

    where
      (convert(varchar(20),itt.ForwardFeed,23) &gt;= convert(varchar(20),'2018-06-01',23) 
AND     convert(VARCHAR(20),itt.ForwardFeed,23) &lt;= convert(VARCHAR(20),'2018-06-30',23))


to

where itt.ForwardFeed &gt;= '2018-06-01'
  AND itt.ForwardFeed &lt;= '2018-06-30'


This should work whether itt.ForwardFeed is a Date or a varchar in ODBC Canonical YYYY-MM-DD format.