более пристойное? 
                  
                  
                      SELECT name FROM artifacts 
                  
                  
                      WHERE release_id = (SELECT id FROM releases WHERE hash LIKE '%' || $1 || '%' OR ref LIKE '%' || $1 || '%' AND project_id 
                  
                  
                      IN (SELECT id FROM projects WHERE name LIKE '%' || $2 || '%') limit 1) 
                  
                  
                      AND stage_id = (SELECT id FROM stages WHERE name LIKE '%' || $3 || '%' limit 1);
                  
                  
                
CTE повышет пристойность неплохо
Замените на детерминированный запрос, первым делом: (SELECT id FROM stages WHERE name LIKE '%' || $3 || '%' limit 1); Ну или уберите отсюда LIMIT, если он на самом деле не нужен. А так, JOIN-ы будут выглядеть получше, чем IN-ы, мне кажется.
Обсуждают сегодня