OpenMetadata/bootstrap/sql/migrations/native/1.12.2/postgres/schemaChanges.sql
Trang Nguyen [INT-DE] 1646ef0b01 Fixes #26225: Add index and FORCE INDEX for listLastTestCaseResultsForTestSuite (MySQL) (#26235)
* ISSUE-26225: add index idx_entity_timestamp_desc for data_quality_data_time_series

* ISSUE-26225: add index idx_entity_timestamp_desc for data_quality_data_time_series

* Update bootstrap/sql/migrations/native/1.12.2/mysql/schemaChanges.sql

* ISSUE-26225: fix the suggestion

---------

Co-authored-by: Teddy <teddy.crepineau@gmail.com>
Co-authored-by: Sriharsha Chintalapani <harshach@users.noreply.github.com>
(cherry picked from commit de2e703fdd)
2026-03-09 07:03:15 -07:00

29 lines
1.4 KiB
SQL

-- Keyset pagination indexes for time-series tables used during search index reindexing
CREATE INDEX IF NOT EXISTS idx_entity_extension_ts_keyset
ON entity_extension_time_series(timestamp, entityFQNHash);
CREATE INDEX IF NOT EXISTS idx_report_data_ts_keyset
ON report_data_time_series(timestamp, entityFQNHash);
CREATE INDEX IF NOT EXISTS idx_data_quality_data_ts_keyset
ON data_quality_data_time_series(timestamp, entityFQNHash);
CREATE INDEX IF NOT EXISTS idx_test_case_resolution_status_ts_keyset
ON test_case_resolution_status_time_series(timestamp, entityFQNHash);
CREATE INDEX IF NOT EXISTS idx_query_cost_ts_keyset
ON query_cost_time_series(timestamp, entityFQNHash);
-- Index for listLastTestCaseResultsForTestSuite / listLastTestCaseResult performance.
-- Supports "latest row per entityFQNHash" in data_quality_data_time_series.
CREATE INDEX IF NOT EXISTS idx_entity_timestamp_desc
ON data_quality_data_time_series(entityFQNHash, timestamp DESC);
-- Add entityStatus generated column to glossary_term_entity table for efficient filtering
-- This supports the entityStatus filtering in the search API endpoint
ALTER TABLE glossary_term_entity
ADD COLUMN IF NOT EXISTS entityStatus VARCHAR(32)
GENERATED ALWAYS AS (json ->> 'entityStatus')
STORED;
-- Add index for efficient entityStatus filtering
CREATE INDEX IF NOT EXISTS idx_glossary_term_entity_status ON glossary_term_entity (entityStatus);