4/13/2022
72

Live 2020 Presidential election results and maps by state. POLITICO's coverage of 2020 races for President, Senate, House, Governors and Key Ballot Measures. SPOKANE VALLEY, Wash., Jan. 26, 2021 (GLOBE NEWSWIRE) - Key Tronic Corporation (Nasdaq: KTCC), a provider of electronic manufacturing services (EMS), today announced its results.

-->

When result set caching is enabled, dedicated SQL pool automatically caches query results in the user database for repetitive use. This allows subsequent query executions to get results directly from the persisted cache so recomputation is not needed. Result set caching improves query performance and reduces compute resource usage. In addition, queries using cached results set do not use any concurrency slots and thus do not count against existing concurrency limits. For security, users can only access the cached results if they have the same data access permissions as the users creating the cached results.

Key commands

What's not cached

Once result set caching is turned ON for a database, results are cached for all queries until the cache is full, except for these queries:

  • Queries with built-in functions or runtime expressions that are non-deterministic even when there’s no change in base tables’ data or query. For example, DateTime.Now(), GetDate().
  • Queries using user defined functions
  • Queries using tables with row level security or column level security enabled
  • Queries returning data with row size larger than 64KB
  • Queries returning large data in size (>10GB)

Note

  • Some non-deterministic functions and runtime expressions can be deterministic to repetitive queries against the same data. For example, ROW_NUMBER().
  • Use ORDER BY in your query if the order/sequence of rows in the query result set is important to your application logic.
  • If data in the ORDER BY columns are not unique, there's no garanteed row order for rows with the same values in the ORDER BY columns, regardless if result set caching is enabled or disabled.

Important

The operations to create result set cache and retrieve data from the cache happen on the control node of a dedicated SQL pool instance.When result set caching is turned ON, running queries that return large result set (for example, >1GB) can cause high throttling on the control node and slow down the overall query response on the instance. Those queries are commonly used during data exploration or ETL operations. To avoid stressing the control node and cause performance issue, users should turn OFF result set caching on the database before running those types of queries.

Run this query for the time taken by result set caching operations for a query:

Here is an example output for a query executed with result set caching disabled.

Keystone Results 2019

Here is an example output for a query executed with result set caching enabled.

When cached results are used

Cached result set is reused for a query if all of the following requirements are all met:

  • The user who's running the query has access to all the tables referenced in the query.
  • There is an exact match between the new query and the previous query that generated the result set cache.
  • There is no data or schema changes in the tables where the cached result set was generated from.

Run this command to check if a query was executed with a result cache hit or miss. The result_cache_hit column returns 1 for cache hit, 0 for cache miss, and negative values for reasons why result set caching was not used. Check sys.dm_pdw_exec_requests for details.

Manage cached results

The maximum size of result set cache is 1 TB per database. The cached results are automatically invalidated when the underlying query data change.

Key

The cache eviction is managed by dedicated SQL pool automatically following this schedule:

  • Every 48 hours if the result set hasn't been used or has been invalidated.
  • When the result set cache approaches the maximum size.

Users can manually empty the entire result set cache by using one of these options:

Key Results Examples

  • Turn OFF the result set cache feature for the database
  • Run DBCC DROPRESULTSETCACHE while connected to the database

Results Kyle

Pausing a database won't empty cached result set.

Next steps

For more development tips, see development overview.

NPR’s sites use cookies, similar tracking and storage technologies, and information about the device you use to access our sites (together, “cookies”) to enhance your viewing, listening and user experience, personalize content, personalize messages from NPR’s sponsors, provide social media features, and analyze NPR’s traffic. This information is shared with social media, sponsorship, analytics, and other vendors or service providers. See details.

KeyResults Key

You may click on “Your Choices” below to learn about and use cookie management tools to limit use of cookies when you visit NPR’s sites. You can adjust your cookie choices in those tools at any time. If you click “Agree and Continue” below, you acknowledge that your cookie choices in those tools will be respected and that you otherwise agree to the use of cookies on NPR’s sites.

obstolemreaconsi.netlify.com – 2021