mirror of
https://github.com/open-metadata/OpenMetadata
synced 2026-05-24 09:39:11 +00:00
12 lines
881 B
MySQL
12 lines
881 B
MySQL
|
|
-- Change entity_extension_time_series.timestamp from VIRTUAL to STORED for performance.
|
||
|
|
-- STORED columns are materialized on disk, making unique constraint checks and range
|
||
|
|
-- queries on timestamp significantly faster (especially for bulk pipeline status upserts).
|
||
|
|
-- MySQL does not allow ALTER from VIRTUAL to STORED directly, so we drop and re-add.
|
||
|
|
-- NOTE: This will lock the table for a full rebuild. On large deployments with millions
|
||
|
|
-- of rows in entity_extension_time_series, plan for downtime accordingly.
|
||
|
|
ALTER TABLE entity_extension_time_series
|
||
|
|
DROP INDEX entity_extension_time_series_constraint,
|
||
|
|
DROP COLUMN `timestamp`,
|
||
|
|
ADD COLUMN `timestamp` bigint unsigned GENERATED ALWAYS AS (json_unquote(json_extract(`json`, _utf8mb4'$.timestamp'))) STORED NOT NULL,
|
||
|
|
ADD UNIQUE KEY `entity_extension_time_series_constraint` (`entityFQNHash`, `extension`, `timestamp`);
|