Pierre,
Executing queries by themselves will not cause the request cache to be spoiled. (By "spoiling" I mean selectively removing entries, in contrast to "purging" which removes all or most entries.)
However, if the table header is changed for any reason, that will cause request cache spoiling. When a load utility runs (such as TPT Load or TPT Update) it updates the table header of the table being loaded into at two different times: 1.) When the utility begins; and 2.) When the utility ends. At both those points in time the request cache will be flushed for any plans that come from queries that reference the table being loaded.
In terms of your second question, queries coming from different sessions can use the same cached plan from the request cache. It is not a requirement that queries have to come from the same session in order to make use of a cached plan.
Pierre,
Executing queries by themselves will not cause the request cache to be spoiled. (By "spoiling" I mean selectively removing entries, in contrast to "purging" which removes all or most entries.)
However, if the table header is changed for any reason, that will cause request cache spoiling. When a load utility runs (such as TPT Load or TPT Update) it updates the table header of the table being loaded into at two different times: 1.) When the utility begins; and 2.) When the utility ends. At both those points in time the request cache will be flushed for any plans that come from queries that reference the table being loaded.
In terms of your second question, queries coming from different sessions can use the same cached plan from the request cache. It is not a requirement that queries have to come from the same session in order to make use of a cached plan.
Thanks, -Carrie