เจเจชเจฐเฉเจธเจผเจจเจพเจ เจคเฉเจ เจธเจพเจตเจงเจพเจจ เจฐเจนเฉ เจเฉ เจฌเจซเจฐ เจฒเจฟเจเจเจเจฆเฉ เจนเจจ...
เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ เจฆเฉ เจคเฉเจฐ 'เจคเฉ เจเฉฑเจ เจเฉเจเฉ เจเจฟเจนเฉ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจเจ PostgreSQL เจตเจฟเฉฑเจ เจธเจตเจพเจฒเจพเจ เจจเฉเฉฐ เจ
เจจเฉเจเฉเจฒ เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉเจ เจตเจฟเจเจชเจ เจชเจนเฉเฉฐเจเจพเจ เจจเฉเฉฐ เจตเฉเจเฉเจเฅค เจคเฉเจธเฉเจ เจเจนเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉ เจเจพเจ เจจเจนเฉเจ เจเจน เจคเฉเจนเจพเจกเฉ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉ, เจชเจฐ เจเจน เจเจนเจจเจพเจ เจฌเจพเจฐเฉ เจเจพเจฃเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจฃ เจนเฉเฅค
PG เจฆเฉ เจเฉเจ เจฌเจพเจ
เจฆ เจตเจพเจฒเฉ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจตเจฟเฉฑเจ เจธเจฅเจฟเจคเฉ เจฌเจฆเจฒ เจธเจเจฆเฉ เจนเฉ เจเจฟเจเจเจเจฟ เจธเจผเจกเจฟเจเจฒเจฐ เจเฉเจธเจค เจฌเจฃ เจเจพเจเจฆเจพ เจนเฉ, เจชเจฐ 9.4/9.6 เจฒเจ เจเจน เจฒเจเจญเจ เจเจนเฉ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ เจเฉฑเจฅเฉ เจฆเจฟเฉฑเจคเฉเจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจตเจฟเฉฑเจเฅค
เจเจ เจเฉฑเจ เจฌเจนเฉเจค เจนเฉ เจ เจธเจฒ เจฌเฉเจจเจคเฉ เจเจฐเฉเจ:
SELECT
TRUE
FROM
"ะะพะบัะผะตะฝั" d
INNER JOIN
"ะะพะบัะผะตะฝัะ ะฐััะธัะตะฝะธะต" doc_ex
USING("@ะะพะบัะผะตะฝั")
INNER JOIN
"ะขะธะฟะะพะบัะผะตะฝัะฐ" t_doc ON
t_doc."@ะขะธะฟะะพะบัะผะตะฝัะฐ" = d."ะขะธะฟะะพะบัะผะตะฝัะฐ"
WHERE
(d."ะะธัะพ3" = 19091 or d."ะกะพัััะดะฝะธะบ" = 19091) AND
d."$ะงะตัะฝะพะฒะธะบ" IS NULL AND
d."ะฃะดะฐะปะตะฝ" IS NOT TRUE AND
doc_ex."ะกะพััะพัะฝะธะต"[1] IS TRUE AND
t_doc."ะขะธะฟะะพะบัะผะตะฝัะฐ" = 'ะะปะฐะฝะ ะฐะฑะพั'
LIMIT 1;
เจธเจพเจฐเจฃเฉ เจ
เจคเฉ เจเฉเจคเจฐ เจฆเฉ เจจเจพเจฎ เจฌเจพเจฐเฉเจเฉเจคเจพเจ เจ
เจคเฉ เจเฉเจฌเจฒเจพเจ เจฆเฉ "เจฐเฉเจธเฉ" เจจเจพเจฎเจพเจ เจจเฉเฉฐ เจตเฉฑเจเจฐเฉ เจขเฉฐเจ เจจเจพเจฒ เจธเจฎเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจชเจฐ เจเจน เจธเฉเจเจฆ เจฆเจพ เจฎเจพเจฎเจฒเจพ เจนเฉ. เจเจฟเจเจเจเจฟ เจฆ
เจเจ เจจเจคเฉเจเจพ เจฏเฉเจเจจเจพ เจจเฉเฉฐ เจตเฉเจเฉเจ:
144ms เจ เจคเฉ เจฒเจเจญเจ 53K เจฌเจซเจฐ - เจฏเจพเจจเฉ 400MB เจคเฉเจ เจตเฉฑเจง เจกเจพเจเจพ! เจ เจคเฉ เจ เจธเฉเจ เจเฉเจธเจผเจเจฟเจธเจฎเจค เจนเฉเจตเจพเจเจเฉ เจเฉเจเจฐ เจเจน เจธเจพเจฐเฉ เจธเจพเจกเฉ เจฌเฉเจจเจคเฉ เจฆเฉ เจธเจฎเฉเจ เจคเฉฑเจ เจเฉเจธเจผ เจตเจฟเฉฑเจ เจนเจจ, เจจเจนเฉเจ เจคเจพเจ เจกเจฟเจธเจ เจคเฉเจ เจชเฉเฉเจนเฉ เจเจพเจฃ 'เจคเฉ เจเจ เจเฉเจฃเจพ เจเจผเจฟเจเจฆเจพ เจธเจฎเจพเจ เจฒเฉฑเจเฉเจเจพเฅค
เจเจฒเจเฉเจฐเจฟเจฆเจฎ เจธเจญ เจคเฉเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ!
เจเจฟเจธเฉ เจตเฉ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจเจฟเจธเฉ เจคเจฐเฉเจนเจพเจ เจ
เจจเฉเจเฉเจฒ เจฌเจฃเจพเจเจฃ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจเจน เจธเจฎเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟ เจเจธเจจเฉเฉฐ เจเฉ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจเจ เจนเฉเจฃเฉ เจฒเจ เจเจธ เจฒเฉเจ เจฆเฉ เจฆเจพเจเจฐเฉ เจคเฉเจ เจฌเจพเจนเจฐ เจกเฉเจเจพเจฌเฉเจธ เจขเจพเจเจเฉ เจฆเฉ เจตเจฟเจเจพเจธ เจจเฉเฉฐ เจเฉฑเจก เจฆเฉเจเจ, เจ
เจคเฉ เจธเจนเจฟเจฎเจค เจนเจพเจ เจเจฟ เจ
เจธเฉเจ เจฎเฉเจเจพเจฌเจฒเจคเจจ "เจธเจธเจคเฉ" เจเจฐ เจธเจเจฆเฉ เจนเจพเจ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจฎเฉเฉ เจฒเจฟเจเฉ เจ
เจคเฉ/เจเจพเจ เจเฉเจ เจเฉเจเจผเจพเจ เจจเฉเฉฐ เจฌเฉเจธ เจเฉฑเจคเฉ เจฐเฉเจฒ เจเจฐเฉ เจเจฟเจจเฉเจนเจพเจ เจฆเฉ เจธเจพเจจเฉเฉฐ เจฒเฉเฉ เจนเฉ เจธเฉเจเจเจพเจเจ.
เจเจธ เจฒเจ เจฌเฉเจจเจคเฉ:
โ เจเฉฑเจเฉ-เจเฉฑเจ เจเฉเจ เจฆเจธเจคเจพเจตเฉเจเจผ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจฆเจพ เจนเฉ
- เจเจฟเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจธเจพเจจเฉเฉฐ เจฒเฉเฉ เจนเฉ เจ
เจคเฉ เจเฉฑเจ เจเจพเจธ เจเจฟเจธเจฎ เจฆเฉ
- เจเจฟเฉฑเจฅเฉ เจฒเฉเจเจ เจเจพเจ เจเจฒเจพเจเจพเจฐ เจเจน เจเจฐเจฎเจเจพเจฐเฉ เจนเฉ เจเจฟเจธเจฆเฉ เจธเจพเจจเฉเฉฐ เจฒเฉเฉ เจนเฉ
เจธเจผเจพเจฎเจฒ เจนเฉเจตเฉ + เจธเฉเจฎเจพ 1
เจ
เจเจธเจฐ เจเฉฑเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจฒเจ เจเฉฑเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฒเจฟเจเจฃเจพ เจเจธเจพเจจ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฟเฉฑเจฅเฉ เจชเจนเจฟเจฒเจพเจ เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจตเจฟเฉฑเจ เจเฉเจฌเจฒ เจเฉเฉ เจเจพเจเจฆเฉ เจนเจจ, เจ
เจคเฉ เจซเจฟเจฐ เจเจธ เจชเฉเจฐเฉ เจธเฉเฉฑเจ เจตเจฟเฉฑเจเฉเจ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจฐเจฟเจเจพเจฐเจก เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉเฅค เจชเจฐ เจกเจฟเจตเฉเจฒเจชเจฐ เจฒเจ เจเจธเจพเจจ เจฆเจพ เจฎเจคเจฒเจฌ เจกเฉเจเจพเจฌเฉเจธ เจฒเจ เจตเจงเฉเจฐเฉ เจเฉเจธเจผเจฒ เจจเจนเฉเจ เจนเฉ.
เจธเจพเจกเฉ เจเฉเจธ เจตเจฟเฉฑเจ เจธเจฟเจฐเจซ 3 เจเฉเจฌเจฒ เจธเจจ - เจ
เจคเฉ เจเจธเจฆเจพ เจเฉ เจชเฉเจฐเจญเจพเจต เจนเฉ ...
เจเจ เจชเจนเจฟเจฒเจพเจ "เจฆเจธเจคเจพเจตเฉเจเจผ เจเจฟเจธเจฎ" เจเฉเจฌเจฒ เจฆเฉ เจจเจพเจฒ เจเฉเจจเฉเจเจธเจผเจจ เจคเฉเจ เจเฉเจเจเจพเจฐเจพ เจชเจพเจเจ, เจ เจคเฉ เจเจธเฉ เจธเจฎเฉเจ เจกเฉเจเจพเจฌเฉเจธ เจจเฉเฉฐ เจฆเฉฑเจธเฉ เจเจฟ เจธเจพเจกเจพ เจเจพเจเจช เจฐเจฟเจเจพเจฐเจก เจตเจฟเจฒเฉฑเจเจฃ เจนเฉ (เจ เจธเฉเจ เจเจน เจเจพเจฃเจฆเฉ เจนเจพเจ, เจชเจฐ เจธเจผเจกเจฟเจเจฒเจฐ เจจเฉเฉฐ เจ เจเฉ เจคเฉฑเจ เจเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจจเจนเฉเจ เจนเฉ):
WITH T AS (
SELECT
"@ะขะธะฟะะพะบัะผะตะฝัะฐ"
FROM
"ะขะธะฟะะพะบัะผะตะฝัะฐ"
WHERE
"ะขะธะฟะะพะบัะผะตะฝัะฐ" = 'ะะปะฐะฝะ ะฐะฑะพั'
LIMIT 1
)
...
WHERE
d."ะขะธะฟะะพะบัะผะตะฝัะฐ" = (TABLE T)
...
เจนเจพเจ, เจเฉเจเจฐ เจธเจพเจฐเจฃเฉ/เจธเฉเจเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจฐเจฟเจเจพเจฐเจก เจฆเจพ เจเฉฑเจ เจเฉเจคเจฐ เจธเจผเจพเจฎเจฒ เจนเฉ, เจคเจพเจ เจชเฉเจเฉ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจเจธ เจฆเฉ เจฌเจเจพเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจตเฉ เจฒเจฟเจ เจธเจเจฆเฉ เจนเฉ
d."ะขะธะฟะะพะบัะผะตะฝัะฐ" = (SELECT "@ะขะธะฟะะพะบัะผะตะฝัะฐ" FROM T LIMIT 1)
PostgreSQL เจธเจตเจพเจฒเจพเจ เจตเจฟเฉฑเจ เจเจฒเจธเฉ เจฎเฉเจฒเจพเจเจเจฃ
BitmapOr เจฌเจจเจพเจฎ UNION
เจเฉเจ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ, เจฌเจฟเจเจฎเฉเจช เจนเฉเจช เจธเจเฉเจจ เจธเจพเจกเฉ เจฒเจ เจฌเจนเฉเจค เจเจฐเจ เจเจฐเฉเจเจพ - เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจธเจพเจกเฉ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจเจฆเฉเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจฐเจฟเจเจพเจฐเจก เจฒเฉเฉเฉเจเจฆเฉ เจธเจผเจฐเจค เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจฆเฉ เจนเจจเฅค เจธเจพเจจเฉเฉฐ เจเจน เจฎเจฟเจฒเจฟเจ เจเจฟเจเจเจเจฟ OR เจธเจผเจฐเจค BitmapOr เจตเจฟเฉฑเจ เจฌเจฆเจฒ เจเจ- เจฏเฉเจเจจเจพ เจตเจฟเฉฑเจ เจเจพเจฐเจตเจพเจ.
เจเจ เจฎเฉเจฒ เจธเจฎเฉฑเจธเจฟเจ เจตเฉฑเจฒ เจตเจพเจชเจธ เจเจฒเฉเจ - เจธเจพเจจเฉเฉฐ เจเจธ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจฐเจฟเจเจพเจฐเจก เจฒเฉฑเจญเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจเฉเจ เจตเฉ เจธเจผเจฐเจคเจพเจ เจคเฉเจ - เจญเจพเจต, เจฆเฉเจตเจพเจ เจธเจผเจฐเจคเจพเจ เจ
เจงเฉเจจ เจธเจพเจฐเฉ 59K เจฐเจฟเจเจพเจฐเจกเจพเจ เจฆเฉ เจเฉเจ เจเจฐเจจ เจฆเฉ เจเฉเจ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค เจเฉฑเจ เจธเจผเจฐเจค เจจเฉเฉฐ เจฌเจพเจนเจฐ เจเฉฐเจฎ เจเจฐเจจ เจฆเจพ เจเฉฑเจ เจคเจฐเฉเจเจพ เจนเฉ, เจ
เจคเฉ เจฆเฉเจเฉ เจเฉฑเจคเฉ เจเจฆเฉเจ เจนเฉ เจเจพเจ เจเจฆเฉเจ เจชเจนเจฟเจฒเฉ เจตเจฟเฉฑเจ เจเฉเจ เจจเจนเฉเจ เจฎเจฟเจฒเจฟเจ. เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเจพ เจกเจฟเจเจผเจพเจเจจ เจธเจพเจกเฉ เจฎเจฆเจฆ เจเจฐเฉเจเจพ:
(
SELECT
...
LIMIT 1
)
UNION ALL
(
SELECT
...
LIMIT 1
)
LIMIT 1
"เจฌเจพเจนเจฐเฉ" เจธเฉเจฎเจพ 1 เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเฉเจ เจเจฆเฉเจ เจเจคเจฎ เจนเฉ เจเจพเจเจฆเฉ เจนเฉ เจเจฆเฉเจ เจชเจนเจฟเจฒเจพ เจฐเจฟเจเจพเจฐเจก เจฎเจฟเจฒเจฆเจพ เจนเฉเฅค เจ เจคเฉ เจเฉเจเจฐ เจเจน เจชเจนเจฟเจฒเจพเจ เจนเฉ เจชเจนเจฟเจฒเฉ เจฌเจฒเจพเจ เจตเจฟเฉฑเจ เจชเจพเจเจ เจเจฟเจ เจนเฉ, เจคเจพเจ เจฆเฉเจเฉ เจฌเจฒเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจ เจจเจนเฉเจ เจเจพเจตเฉเจเจพ (เจเจฆเฉ เจจเจนเฉเจ เจเจฒเจพเจเจ เจเจฟเจ เจฆเฉ เจธเจฌเฉฐเจง เจตเจฟเฉฑเจ).
"เจเฉเจธ เจฆเฉ เจคเจนเจฟเจค เจฎเฉเจธเจผเจเจฒ เจนเจพเจฒเจพเจคเจพเจ เจจเฉเฉฐ เจฒเฉเจเจพเจเจฃเจพ"
เจ
เจธเจฒ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจฌเจนเฉเจค เจนเฉ เจ
เจธเฉเจตเจฟเจงเจพเจเจจเจ เจชเจฒ เจนเฉ - เจธเฉฐเจฌเฉฐเจงเจฟเจค เจเฉเจฌเจฒ "เจกเฉเจเฉเจฎเฉเจเจ เจเจเจธเจเฉเจเจธเจผเจจ" เจฆเฉ เจตเจฟเจฐเฉเฉฑเจง เจธเจฅเจฟเจคเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจจเจพเฅค เจธเจฎเฉเจเจฐเจจ เจตเจฟเฉฑเจ เจนเฉเจฐ เจธเจฅเจฟเจคเฉเจเจ เจฆเฉ เจธเฉฑเจเจพเจ เจฆเฉ เจฌเจพเจตเจเฉเจฆ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, d. "เจฎเจฟเจเจพเจเจ เจเจฟเจ" เจธเฉฑเจ เจจเจนเฉเจ เจนเฉ), เจเจธ เจเฉเจจเฉเจเจธเจผเจจ เจจเฉเฉฐ เจนเจฎเฉเจธเจผเจพ เจเจฒเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ เจ
เจคเฉ "เจธเจฐเฉเจค เจฆเฉ เจฒเจพเจเจค" เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจตเฉฑเจง เจเจพเจ เจเฉฑเจ เจเจฐเจ เจเฉเจคเฉ เจเจพเจฃเจเฉ - เจเจธ เจธเจพเจฐเจฃเฉ เจฆเฉ เจเจเจพเจฐ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉเฅค
เจชเจฐ เจคเฉเจธเฉเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจจเฉเฉฐ เจธเฉฐเจธเจผเฉเจงเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ เจคเจพเจ เจเจฟ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจฐเจฟเจเจพเจฐเจก เจฆเฉ เจเฉเจ เจเจฆเฉเจ เจนเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ เจเจฆเฉเจ เจเจน เจ
เจธเจฒ เจตเจฟเฉฑเจ เจเจผเจฐเฉเจฐเฉ เจนเฉเจตเฉ:
SELECT
...
FROM
"ะะพะบัะผะตะฝั" d
WHERE
... /*index cond*/ AND
CASE
WHEN "$ะงะตัะฝะพะฒะธะบ" IS NULL AND "ะฃะดะฐะปะตะฝ" IS NOT TRUE THEN (
SELECT
"ะกะพััะพัะฝะธะต"[1] IS TRUE
FROM
"ะะพะบัะผะตะฝัะ ะฐััะธัะตะฝะธะต"
WHERE
"@ะะพะบัะผะตะฝั" = d."@ะะพะบัะผะตะฝั"
)
END
เจเฉฑเจ เจตเจพเจฐ เจธเจพเจกเฉ เจฒเจ เจฒเจฟเฉฐเจเจก เจเฉเจฌเจฒ เจคเฉเจ เจจเจคเฉเจเฉ เจฒเจ เจเจฟเจธเฉ เจตเฉ เจเฉเจคเจฐ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉ, เจซเจฟเจฐ เจธเจพเจกเฉ เจเฉเจฒ เจธเจฌเจเจตเฉเจฐเฉ 'เจคเฉ JOIN เจจเฉเฉฐ เจเฉฑเจ เจธเจผเจฐเจค เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฃ เจฆเจพ เจฎเฉเจเจพ เจนเฉเฅค
เจเจฒเฉ เจเฉฐเจกเฉเจเจธเจก เจเฉเจคเจฐเจพเจ เจจเฉเฉฐ "เจเฉเจธ เจฌเจฐเฉเจเจเจพเจ เจฆเฉ เจฌเจพเจนเจฐ" เจเฉฑเจก เจฆเฉเจเจ, เจฐเจฟเจเจพเจฐเจก เจคเฉเจ WHEN เจฌเจฒเจพเจ เจตเจฟเฉฑเจ เจธเจงเจพเจฐเจจ เจธเจผเจฐเจคเจพเจ เจเฉเฉเฉ - เจ
เจคเฉ เจนเฉเจฃ "เจญเจพเจฐเฉ" เจชเฉเฉฑเจเจเจฟเฉฑเจ เจเฉเจตเจฒ THEN เจจเฉเฉฐ เจชเจพเจธ เจเจฐเจจ 'เจคเฉ เจนเฉ เจเจฒเจพเจ เจเจพเจเจฆเฉ เจนเฉเฅค
เจฎเฉเจฐเจพ เจเจเจฐเฉ เจจเจพเจฎ "เจเฉเฉฑเจฒ" เจนเฉ
เจ เจธเฉเจ เจเฉฑเจชเจฐ เจฆเฉฑเจธเฉ เจเจ เจธเจพเจฐเฉ เจฎเจเฉเจจเจฟเจเจธ เจจเจพเจฒ เจจเจคเฉเจเฉ เจตเจเฉเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจฆเฉ เจนเจพเจ:
WITH T AS (
SELECT
"@ะขะธะฟะะพะบัะผะตะฝัะฐ"
FROM
"ะขะธะฟะะพะบัะผะตะฝัะฐ"
WHERE
"ะขะธะฟะะพะบัะผะตะฝัะฐ" = 'ะะปะฐะฝะ ะฐะฑะพั'
)
(
SELECT
TRUE
FROM
"ะะพะบัะผะตะฝั" d
WHERE
("ะะธัะพ3", "ะขะธะฟะะพะบัะผะตะฝัะฐ") = (19091, (TABLE T)) AND
CASE
WHEN "$ะงะตัะฝะพะฒะธะบ" IS NULL AND "ะฃะดะฐะปะตะฝ" IS NOT TRUE THEN (
SELECT
"ะกะพััะพัะฝะธะต"[1] IS TRUE
FROM
"ะะพะบัะผะตะฝัะ ะฐััะธัะตะฝะธะต"
WHERE
"@ะะพะบัะผะตะฝั" = d."@ะะพะบัะผะตะฝั"
)
END
LIMIT 1
)
UNION ALL
(
SELECT
TRUE
FROM
"ะะพะบัะผะตะฝั" d
WHERE
("ะขะธะฟะะพะบัะผะตะฝัะฐ", "ะกะพัััะดะฝะธะบ") = ((TABLE T), 19091) AND
CASE
WHEN "$ะงะตัะฝะพะฒะธะบ" IS NULL AND "ะฃะดะฐะปะตะฝ" IS NOT TRUE THEN (
SELECT
"ะกะพััะพัะฝะธะต"[1] IS TRUE
FROM
"ะะพะบัะผะตะฝัะ ะฐััะธัะตะฝะธะต"
WHERE
"@ะะพะบัะผะตะฝั" = d."@ะะพะบัะผะตะฝั"
)
END
LIMIT 1
)
LIMIT 1;
เจธเฉเจเจเจพเจเจ เจจเฉเฉฐ [เจตเจฟเฉฑเจ] เจตเจฟเจตเจธเจฅเจฟเจค เจเจฐเจจเจพ
เจเฉฑเจ เจธเจฟเจเจฟเจ
เจค เจ
เฉฑเจ เจจเฉ เจฆเฉเจเจฟเจ เจเจฟ UNION เจธเจฌ-เจฌเจฒเจพเจเจพเจ เจตเจฟเฉฑเจ เจธเฉเจเจเจพเจเจ เจธเจฅเจฟเจคเฉเจเจ เจฅเฉเฉเฉเจนเฉเจเจ เจตเฉฑเจเจฐเฉเจเจ เจนเจจ - เจเจน เจเจธ เจฒเจ เจนเฉ เจเจฟเจเจเจเจฟ เจธเจพเจกเฉ เจเฉเจฒ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉเจฌเจฒ 'เจคเฉ เจขเฉเจเจตเฉเจ เจธเฉเจเจเจพเจเจ เจนเจจเฅค เจ
เจคเฉ เจเฉ เจเจน เจฎเฉเจเฉเจฆ เจจเจนเฉเจ เจธเจจ, เจคเจพเจ เจเจน เจฌเจฃเจพเจเจฃ เจฆเฉ เจฏเฉเจ เจนเฉเจตเฉเจเจพ: เจฆเจธเจคเจพเจตเฉเจเจผ(Person3, Documenttype) ะธ เจฆเจธเจคเจพเจตเฉเจเจผ (เจฆเจธเจคเจพเจตเฉเจเจผ เจฆเฉ เจเจฟเจธเจฎ, เจเจฐเจฎเจเจพเจฐเฉ).
ROW เจนเจพเจฒเจคเจพเจ เจตเจฟเฉฑเจ เจเฉเจคเจฐเจพเจ เจฆเฉ เจเฉเจฐเจฎ เจฌเจพเจฐเฉเจฏเฉเจเจจเจพเจเจพเจฐ เจฆเฉ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจคเฉเจ, เจฌเฉเจธเจผเจ, เจคเฉเจธเฉเจ เจฒเจฟเจ เจธเจเจฆเฉ เจนเฉ (A, B) = (constA, constB)เจ
เจคเฉ (B, A) = (constB, constA). เจชเจฐ เจเจฆเฉเจ เจฐเจฟเจเจพเจฐเจกเจฟเฉฐเจ เจธเฉเจเจเจพเจเจ เจตเจฟเฉฑเจ เจเฉเจคเจฐเจพเจ เจฆเฉ เจเฉเจฐเจฎ เจตเจฟเฉฑเจ, เจ
เจเจฟเจนเฉ เจฌเฉเจจเจคเฉ เจฌเจพเจ
เจฆ เจตเจฟเฉฑเจ เจกเฉเจฌเฉฑเจ เจเจฐเจจ เจฒเจ เจตเจงเฉเจฐเฉ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉเฅค
เจฏเฉเจเจจเจพ เจตเจฟเฉฑเจ เจเฉ เจนเฉ?
เจฌเจฆเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, เจ
เจธเฉเจ เจฌเจฆเจเจฟเจธเจฎเจค เจธเฉ เจ
เจคเฉ เจชเจนเจฟเจฒเฉ UNION เจฌเจฒเจพเจ เจตเจฟเฉฑเจ เจเฉเจ เจตเฉ เจจเจนเฉเจ เจฎเจฟเจฒเจฟเจ, เจเจธเจฒเจ เจฆเฉเจเฉ เจจเฉเฉฐ เจ
เจเฉ เจตเฉ เจเจฒเจพเจเจ เจเจฟเจ เจธเฉเฅค เจชเจฐ เจซเจฟเจฐ เจตเฉ - เจเฉเจตเจฒ 0.037ms เจ
เจคเฉ 11 เจฌเจซเจฐ!
เจ
เจธเฉเจ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจคเฉเจเจผ เจเฉเจคเจพ เจนเฉ เจ
เจคเฉ เจฎเฉเจฎเฉเจฐเฉ เจตเจฟเฉฑเจ เจกเจพเจเจพ เจชเฉฐเจชเจฟเฉฐเจ เจจเฉเฉฐ เจเจเจพ เจฆเจฟเฉฑเจคเจพ เจนเฉ เจเจ เจนเจเจผเจพเจฐ เจตเจพเจฐ, เจเจพเจซเจผเฉ เจธเจงเจพเจฐเจจ เจคเจเจจเฉเจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ - เจฅเฉเฉเฉเจนเฉ เจเจฟเจนเฉ เจเจพเจชเฉ-เจชเฉเจธเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจตเจงเฉเจ เจจเจคเฉเจเจพ. ๐
เจธเจฐเฉเจค: www.habr.com