Documentation

Query a Distinct Value Cache

Use the distinct_cache() SQL function in the FROM clause of an SQL SELECT statement to query data from the Distinct Value Cache (DVC).

You must use SQL to query the DVC. InfluxQL does not support the distinct_cache() function.

distinct_cache() supports the following arguments:

  • table_name: (Required) The name of the table the DVC is associated with formatted as a string literal.
  • cache_name: The name of the DVC to query formatted as a string literal. This argument is only required if there is more than one DVC associated with the specified table.
SELECT * FROM distinct_cache('table_name', 'cache_name')

You can use other SQL clauses to modify query results. For example, you can use the WHERE clause to return the distinct tag values associated with another distinct tag value:

SELECT
  city
FROM
  distinct_cache('wind_data', 'windDistinctCache')
WHERE
  country = 'Spain'

Use the HTTP API

To use the HTTP API to query cached data, send a GET or POST request to the /api/v3/query_sql endpoint and include the distinct_cache() function in your query.

GET /api/v3/query_sql
POST /api/v3/query_sql
curl -X POST "https://localhost:8181/api/v3/query_sql" \
  --header "Authorization: Bearer 
AUTH_TOKEN
"
\
--json '{ "db": "
DATABASE_NAME
",
"q": "SELECT * FROM distinct_cache('\''
TABLE_NAME
'
\'', '\''
CACHE_NAME
'
\'')",
"format": "json" }'

Example with WHERE clause

curl -X POST "https://localhost:8181/api/v3/query_sql" \
  --header "Authorization: Bearer 00xoXX0xXXx0000XxxxXx0Xx0xx0" \
  --json '{
    "db": "example-db",
    "q": "SELECT room, temp FROM last_cache('\''home'\'', '\''homeCache'\'') WHERE room = '\''Kitchen'\''",
    "format": "json"
  }'

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

New in InfluxDB 3.4

Key enhancements in InfluxDB 3.4 and the InfluxDB 3 Explorer 1.2.

See the Blog Post

InfluxDB 3.4 is now available for both Core and Enterprise, which introduces offline token generation for use in automated deployments and configurable license type selection that lets you bypass the interactive license prompt. InfluxDB 3 Explorer 1.2 is also available, which includes InfluxDB cache management and other new features.

For more information, check out: