Merge pull request #279 from coreos/searchintro_optimize
pgsql: Reduce cost of GetNotification by 2.5x
This commit is contained in:
commit
dab6e492b8
@ -211,22 +211,20 @@ const (
|
|||||||
WHERE name = $1`
|
WHERE name = $1`
|
||||||
|
|
||||||
searchNotificationLayerIntroducingVulnerability = `
|
searchNotificationLayerIntroducingVulnerability = `
|
||||||
WITH subquery AS (
|
WITH LDFV AS (
|
||||||
SELECT l.ID, l.name
|
SELECT ldfv.layer_id
|
||||||
FROM Vulnerability_Affects_FeatureVersion vafv, FeatureVersion fv, Layer_diff_FeatureVersion ldfv, Layer l
|
FROM Vulnerability_Affects_FeatureVersion vafv, FeatureVersion fv, Layer_diff_FeatureVersion ldfv
|
||||||
WHERE l.id >= $2
|
WHERE ldfv.layer_id >= $2
|
||||||
AND vafv.vulnerability_id = $1
|
AND vafv.vulnerability_id = $1
|
||||||
AND vafv.featureversion_id = fv.id
|
AND vafv.featureversion_id = fv.id
|
||||||
AND ldfv.featureversion_id = fv.id
|
AND ldfv.featureversion_id = fv.id
|
||||||
AND ldfv.modification = 'add'
|
AND ldfv.modification = 'add'
|
||||||
AND ldfv.layer_id = l.id
|
ORDER BY ldfv.ID
|
||||||
ORDER BY l.ID
|
)
|
||||||
)
|
SELECT l.id, l.name
|
||||||
|
FROM LDFV, Layer l
|
||||||
SELECT *
|
WHERE LDFV.layer_id = l.id
|
||||||
FROM subquery
|
LIMIT $3`
|
||||||
LIMIT $3;
|
|
||||||
`
|
|
||||||
|
|
||||||
// complex_test.go
|
// complex_test.go
|
||||||
searchComplexTestFeatureVersionAffects = `
|
searchComplexTestFeatureVersionAffects = `
|
||||||
|
Loading…
Reference in New Issue
Block a user