Project

General

Profile

Actions

Bug #36500

closed

Optimize DockerMetaTag query and CV version deletion to run a single invocation of the method

Added by Samir Jha over 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Repositories
Target version:
Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

Test performance improvement between current query:

self.where("id not in (?) OR (schema2_id IS NULL AND schema1_id IS NULL)", Katello::RepositoryDockerMetaTag.pluck(:docker_meta_tag_id) + [0]).delete_all

vs

self.where("(id != 0 and id not in (select docker_meta_tag_id from #{Katello::RepositoryDockerMetaTag.table_name})) OR (schema2_id IS NULL AND schema1_id IS NULL) ").delete_all

Also, have this method called once per CV version delete vs once per CV version repo delete to save unnecessary calls.

Actions

Also available in: Atom PDF