As far as I know, ADS v.10 tries to keep result of query in memory until it is a quite huge. The same should be true for the __output table and for temporary tables. When the result becoming large, swapping stated.
The question is what memory limit is set for a query, a worker, whatever? Cou开发者_StackOverflow社区ld this limit be configured?
Thanks.
The overall limit is controlled by the MAX_CACHE_MEMORY configuration parameter. I don't think there is currently any configuration parameter or mechanism to control it on a per-user basis.
In general, an LRU scheme is used to remove old pages when the limit is reached. In addition, it uses a scaling algorithm to control how much memory each user can get to avoid allowing one connection to constantly be acquiring overly large portions of the cache.
精彩评论