I see a similar pattern here. In my case the first batch shows up as 226 reads and subsequent reads as 105.
The first time you execute the query after creating and populating the table it automatically creates statistics on col2
in order to get an estimated number of rows.
If you add the SP:StmtCompleted
event to the trace you can see that this is responsible for the extra reads that the first batch encounters.
To answer the question "how to decrease the reads for the first time?" technically you could disable automatic statistics creation but you shouldn't do this the overhead of automatic statistics maintenance is generally nothing when compared to the benefit of more accurate cardinality estimates and better query plans.