mirror of
https://github.com/goharbor/harbor.git
synced 2024-08-26 14:03:27 +02:00
Missing index with job_id, when query task with job_id, it cause a full table scan, caused performance issue Fixes #15271 Signed-off-by: stonezdj <stonezdj@gmail.com>
35 lines
1.4 KiB
SQL
35 lines
1.4 KiB
SQL
/* Fix retention_policy create_time, update_time for pgx driver */
|
|
ALTER TABLE retention_policy ALTER COLUMN create_time TYPE TIMESTAMP WITHOUT TIME ZONE USING (current_date + create_time);
|
|
ALTER TABLE retention_policy ALTER COLUMN update_time TYPE TIMESTAMP WITHOUT TIME ZONE USING (current_date + update_time);
|
|
|
|
/* create table of accessory */
|
|
CREATE TABLE IF NOT EXISTS artifact_accessory (
|
|
id SERIAL PRIMARY KEY NOT NULL,
|
|
/*
|
|
the artifact id of the accessory itself.
|
|
*/
|
|
artifact_id bigint,
|
|
/*
|
|
the subject artifact id of the accessory.
|
|
*/
|
|
subject_artifact_id bigint,
|
|
/*
|
|
the type of the accessory, like signature.cosign.
|
|
*/
|
|
type varchar(256),
|
|
size bigint,
|
|
digest varchar(1024),
|
|
creation_time timestamp default CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (artifact_id) REFERENCES artifact(id),
|
|
FOREIGN KEY (subject_artifact_id) REFERENCES artifact(id),
|
|
CONSTRAINT unique_artifact_accessory UNIQUE (artifact_id, subject_artifact_id)
|
|
);
|
|
|
|
/* Change vulnerability_record.id and report_vulnerability_record.id to BIGINT */
|
|
ALTER TABLE vulnerability_record ALTER COLUMN id TYPE BIGINT;
|
|
ALTER SEQUENCE vulnerability_record_id_seq AS BIGINT;
|
|
ALTER TABLE report_vulnerability_record ALTER COLUMN id TYPE BIGINT;
|
|
ALTER SEQUENCE report_vulnerability_record_id_seq AS BIGINT;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_task_job_id ON task (job_id);
|