|
72 min
7%
|
591 ms
|
7,273
postgres
|
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
SELECT profile_id as record_id
FROM email_addresses
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($2), paradedb.parse($3), paradedb.term($4, $5)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
LIMIT $6
) sub
|
|
53 min
6%
|
424 ms
|
7,550
postgres
|
SELECT DISTINCT sub.record_id, 1 as rank
FROM (
SELECT profile_id as record_id
FROM profiles_positions
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($dfcfddbcbafafab$title:(imad OR kerbal)^10 OR description:(imad OR kerbal)^1$dfcfddbcbafafab$), paradedb.term('group_id', $efbeaadbefaea$2447b161-2dfb-4def-8829-4f953f6a5eec$efbeaadbefaea$)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
LIMIT 10000
) sub
|
|
36 min
4%
|
420 ms
|
5,083
postgres
|
SELECT DISTINCT sub.record_id, 1 as rank
FROM (
SELECT profile_id as record_id
FROM profiles_positions
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($beceeae$trigger_company_search_name:(imad OR kerbal)^5$beceeae$), paradedb.term('group_id', $acbfddb$2447b161-2dfb-4def-8829-4f953f6a5eec$acbfddb$)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
AND end_date IS NULL
LIMIT 10000
) sub
|
|
31 min
3%
|
691 ms
|
2,650
postgres
|
SELECT profile_id as record_id,
ROW_NUMBER() OVER (ORDER BY best_score DESC, profile_id) as rank
FROM (
SELECT profile_id, MAX(score) as best_score
FROM (
SELECT profile_id, paradedb.score(id) * (CASE WHEN end_date IS NULL THEN $1 ELSE GREATEST($2, $3 - EXTRACT($4 FROM AGE(NOW(), end_date)) / $5) END * CASE WHEN start_date IS NOT NULL THEN LEAST($6, $7 + EXTRACT($8 FROM AGE(COALESCE(end_date, NOW()), start_date)) / $9) ELSE $10 END * CASE WHEN source = $11 THEN $12 ELSE $13 END) as score
FROM profiles_positions
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($14), paradedb.term($15, $16)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
ORDER BY paradedb.score(id) DESC
LIMIT $17
OFFSET $18
) topk
GROUP BY profile_id
) sub
ORDER BY rank
LIMIT $19
|
|
29 min
3%
|
383 ms
|
4,482
postgres
|
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
SELECT profile_id as record_id
FROM email_addresses
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($2), paradedb.term($3, $4)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
LIMIT $5
) sub
|
|
16 min
2%
|
59 ms
|
15,884
postgres
|
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
SELECT id as record_id
FROM profiles
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($2), paradedb.term($3, $4)])
AND deleted_at IS NULL
LIMIT $5
) sub
|
|
14 min
1%
|
120 ms
|
7,190
postgres
|
CREATE TEMP TABLE _all_matched ON COMMIT DROP AS SELECT p.id as id,
ROW_NUMBER() OVER (ORDER BY p.trigger_last_interaction_date DESC NULLS LAST, p.id ASC) as rn
FROM profiles p
WHERE p.deleted_at IS NULL
AND p.group_id = $1::uuid
AND EXISTS (SELECT $2 FROM profiles_statuses_cache psc WHERE psc.profile_id = p.id AND psc.group_id = $3::uuid AND psc.is_talent = $4)
|
|
13 min
1%
|
54 ms
|
14,962
postgres
|
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
SELECT id as record_id
FROM profiles
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($2), paradedb.parse($3), paradedb.term($4, $5)])
AND deleted_at IS NULL
LIMIT $6
) sub
|
|
10 min
1.0%
|
217 ms
|
2,633
postgres
|
SELECT profile_id as record_id,
ROW_NUMBER() OVER (ORDER BY best_score DESC, profile_id) as rank
FROM (
SELECT profile_id, MAX(score) as best_score
FROM (
SELECT profile_id, paradedb.score(id) as score
FROM profiles_educations
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($1), paradedb.term($2, $3)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
ORDER BY paradedb.score(id) DESC
LIMIT $4
OFFSET $5
) topk
GROUP BY profile_id
) sub
ORDER BY rank
LIMIT $6
|
|
6 min
0.7%
|
143 ms
|
2,637
postgres
|
SELECT id as record_id,
ROW_NUMBER() OVER (ORDER BY best_score DESC, id) as rank
FROM (
SELECT id, MAX(score) as best_score
FROM (
SELECT id, paradedb.score(id) as score
FROM profiles
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($1), paradedb.term($2, $3)])
AND deleted_at IS NULL
ORDER BY paradedb.score(id) DESC
LIMIT $4
OFFSET $5
) topk
GROUP BY id
) sub
ORDER BY rank
LIMIT $6
|
|
6 min
0.6%
|
138 ms
|
2,648
postgres
|
WITH
all_matched_count AS (
SELECT count(*) as cnt
FROM profiles p
WHERE p.deleted_at IS NULL
AND p.group_id = $1::uuid
AND EXISTS (SELECT $2 FROM profiles_statuses_cache psc WHERE psc.profile_id = p.id AND psc.group_id = $3::uuid AND psc.is_talent = $4)
),
all_matched AS (
SELECT p.id as id
FROM profiles p
WHERE p.deleted_at IS NULL
AND p.group_id = $5::uuid
AND EXISTS (SELECT $6 FROM profiles_statuses_cache psc WHERE psc.profile_id = p.id AND psc.group_id = $7::uuid AND psc.is_talent = $8)
ORDER BY p.trigger_last_interaction_date DESC NULLS LAST, p.id ASC
LIMIT $9 OFFSET $10
)
SELECT json_build_object(
$11, (SELECT COALESCE(json_agg(id), $12::json) FROM all_matched),
$13, (SELECT cnt FROM all_matched_count),
$14, $15::json
)::text as result
|
|
5 min
0.6%
|
121 ms
|
2,635
postgres
|
SELECT profile_id as record_id,
ROW_NUMBER() OVER (ORDER BY best_score DESC, profile_id) as rank
FROM (
SELECT profile_id, MAX(score) as best_score
FROM (
SELECT profile_id, paradedb.score(id) as score
FROM profiles_skills
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($1), paradedb.term($2, $3)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
ORDER BY paradedb.score(id) DESC
LIMIT $4
OFFSET $5
) topk
GROUP BY profile_id
) sub
ORDER BY rank
LIMIT $6
|
|
5 min
0.5%
|
137 ms
|
2,107
postgres
|
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
SELECT profile_id as record_id
FROM profiles_educations
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($2), paradedb.term($3, $4)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
LIMIT $5
) sub
|
|
3 min
0.4%
|
74 ms
|
2,749
postgres
|
SELECT record_id,
ROW_NUMBER() OVER (ORDER BY score DESC, record_id) as rank
FROM (SELECT pfv.profile_id as record_id, MAX(bm25.score) as score
FROM (
SELECT fv.id as fv_id, paradedb.score(fv.id) as score
FROM fieldsvalues fv
WHERE fv.id @@@ pdb.parse($1)
AND fv.deleted_at IS NULL
OFFSET $2
) bm25
JOIN profiles_fieldsvalues pfv ON pfv.fieldvalue_id = bm25.fv_id
AND pfv.group_id = $3::uuid
AND pfv.deleted_at IS NULL
GROUP BY pfv.profile_id) sub
ORDER BY rank
LIMIT $4
|
|
3 min
0.3%
|
91 ms
|
2,102
postgres
|
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
SELECT profile_id as record_id
FROM profiles_skills
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($2), paradedb.term($3, $4)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
LIMIT $5
) sub
|
|
3 min
0.3%
|
68 ms
|
2,633
postgres
|
SELECT profile_id as record_id,
ROW_NUMBER() OVER (ORDER BY best_score DESC, profile_id) as rank
FROM (
SELECT profile_id, MAX(score) as best_score
FROM (
SELECT profile_id, paradedb.score(id) as score
FROM profiles_fieldsvalues
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($1), paradedb.term($2, $3)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
ORDER BY paradedb.score(id) DESC
LIMIT $4
OFFSET $5
) topk
GROUP BY profile_id
) sub
ORDER BY rank
LIMIT $6
|
|
2 min
0.3%
|
57 ms
|
2,544
postgres
|
SELECT DISTINCT record_id, $1 as rank FROM (SELECT pfv.profile_id as record_id, MAX(bm25.score) as score
FROM (
SELECT fv.id as fv_id, paradedb.score(fv.id) as score
FROM fieldsvalues fv
WHERE fv.id @@@ pdb.parse($2)
AND fv.deleted_at IS NULL
OFFSET $3
) bm25
JOIN profiles_fieldsvalues pfv ON pfv.fieldvalue_id = bm25.fv_id
AND pfv.group_id = $4::uuid
AND pfv.deleted_at IS NULL
GROUP BY pfv.profile_id) sub
LIMIT $5
|
|
2 min
0.2%
|
14 ms
|
9,605
postgres
|
CREATE TEMP TABLE _all_matched ON COMMIT DROP AS SELECT p.id as id,
ROW_NUMBER() OVER (ORDER BY p.trigger_last_interaction_date DESC NULLS LAST, p.id ASC) as rn
FROM profiles p
WHERE p.deleted_at IS NULL
AND p.group_id = $1::uuid
AND EXISTS (SELECT $2 FROM profiles_statuses_cache psc WHERE psc.profile_id = p.id AND psc.group_id = $3::uuid AND psc.project_id = $4::uuid AND psc.association_type = $5)
|
|
2 min
0.2%
|
12 ms
|
10,952
postgres
|
WITH
all_matched_count AS (
SELECT count(*) as cnt
FROM profiles p
WHERE p.deleted_at IS NULL
AND p.group_id = $1::uuid
AND EXISTS (SELECT $2 FROM profiles_statuses_cache psc WHERE psc.profile_id = p.id AND psc.group_id = $3::uuid AND psc.project_id = $4::uuid)
),
all_matched AS (
SELECT p.id as id
FROM profiles p
WHERE p.deleted_at IS NULL
AND p.group_id = $5::uuid
AND EXISTS (SELECT $6 FROM profiles_statuses_cache psc WHERE psc.profile_id = p.id AND psc.group_id = $7::uuid AND psc.project_id = $8::uuid)
ORDER BY p.id DESC NULLS LAST, p.id ASC
LIMIT $9 OFFSET $10
)
SELECT json_build_object(
$11, (SELECT COALESCE(json_agg(id), $12::json) FROM all_matched),
$13, (SELECT cnt FROM all_matched_count),
$14, $15::json
)::text as result
|
|
2 min
0.2%
|
165 ms
|
683
postgres
|
WITH
all_matched_count AS (
SELECT count(*) as cnt
FROM profiles p
WHERE p.deleted_at IS NULL
AND p.group_id = $1::uuid
AND (EXISTS (SELECT $2 FROM profiles_statuses_cache _rel_profiles_statuses_cache_0 WHERE ((_rel_profiles_statuses_cache_0.profile_id) = (p.id)) AND (((((_rel_profiles_statuses_cache_0.status_id) = ($3)) OR ((_rel_profiles_statuses_cache_0.parent_status_id) = ($4))) AND ((_rel_profiles_statuses_cache_0.group_id) = ($5))) AND ((_rel_profiles_statuses_cache_0.is_talent) = ($6)))))
AND EXISTS (SELECT $7 FROM profiles_statuses_cache psc WHERE psc.profile_id = p.id AND psc.group_id = $8::uuid AND psc.is_talent = $9)
),
all_matched AS (
SELECT p.id as id
FROM profiles p
WHERE p.deleted_at IS NULL
AND p.group_id = $10::uuid
AND (EXISTS (SELECT $11 FROM profiles_statuses_cache _rel_profiles_statuses_cache_0 WHERE ((_rel_profiles_statuses_cache_0.profile_id) = (p.id)) AND (((((_rel_profiles_statuses_cache_0.status_id) = ($12)) OR ((_rel_profiles_statuses_cache_0.parent_status_id) = ($13))) AND ((_rel_profiles_statuses_cache_0.group_id) = ($14))) AND ((_rel_profiles_statuses_cache_0.is_talent) = ($15)))))
AND EXISTS (SELECT $16 FROM profiles_statuses_cache psc WHERE psc.profile_id = p.id AND psc.group_id = $17::uuid AND psc.is_talent = $18)
ORDER BY p.trigger_last_interaction_date DESC NULLS LAST, p.id ASC
LIMIT $19 OFFSET $20
)
SELECT json_build_object(
$21, (SELECT COALESCE(json_agg(id), $22::json) FROM all_matched),
$23, (SELECT cnt FROM all_matched_count),
$24, $25::json
)::text as result
|
|
2 min
0.2%
|
49 ms
|
2,099
postgres
|
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
SELECT profile_id as record_id
FROM profiles_fieldsvalues
WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($2), paradedb.term($3, $4)])
AND deleted_at IS NULL
AND profile_id IS NOT NULL
LIMIT $5
) sub
|