Link Search Menu Expand Document

REFRESH JOIN INDEX

Recreates a join index or all join indices associated with a dimension table on the engine. You can run this statement to rebuild a join index or indices after data has been ingested into an underlying dimension table or after a partition has been dropped to delete records. For more information about join indexes, see Using join indexes.

Join indexes are not updated automatically in an engine when a partition is dropped. You must refresh all indexes on all engines with queries that use the indexes, otherwise the queries return results from before the partition drop.

Following release of DB version 3.19, you no longer need to manually refresh join indexes - the results are always up to date even if the underlying data changed. This command is deprecated as of version 3.23.

Refreshing join indexes is a memory-intensive operation because join indexes are stored in node RAM. When refreshing join indexes, use SHOW INDEXES to get the size_compressed of all indexes to refresh. Ensure that node RAM is greater than the sum of size_compressed for all join indexes to be refreshed.

Syntax

Two versions of the command are available.

  • REFRESH JOIN INDEX refreshes a single join index that you specify.
  • REFRESH ALL JOIN INDEXES ON TABLE refreshes all join indexes associated with a specific dimension table.
REFRESH JOIN INDEX <index-name>

—OR—

REFRESH ALL JOIN INDEXES ON TABLE <dim-table-name>
Parameter  
<index-name> The name of the join index to rebuild.
<dim-table-name> The name of a dimension table. All join indexes associated with that table are rebuilt.