เชฌเชซเชฐเซเชธ เชฒเชพเชตเซ เชคเซเชตเชพ เชเชชเชฐเซเชถเชจเซเชธเชฅเซ เชธเชพเชตเชเซเชค เชฐเชนเซ...
เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชจเชพเชจเซ เชเซเชตเซเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เชเชพเชฒเซ 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)
...
เชนเชพ, เชเซ เชเซเชทเซเชเช/CTE เชฎเชพเช เชเช เช เชฐเซเชเซเชฐเซเชกเชจเชพ เชเช เช เชเซเชทเซเชคเซเชฐเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ, เชคเซ เชชเชเซ PG เชฎเชพเช เชคเชฎเซ เชคเซเชจเชพ เชฌเชฆเชฒเซ เชเชจเชพ เชเซเชตเซเช เชชเชฃ เชฒเชเซ เชถเชเซ เชเซ.
d."ะขะธะฟะะพะบัะผะตะฝัะฐ" = (SELECT "@ะขะธะฟะะพะบัะผะตะฝัะฐ" FROM T LIMIT 1)
PostgreSQL เชเซเชตเซเชฐเซเชเชฎเชพเช เชเชณเชธเซ เชฎเซเชฒเซเชฏเชพเชเชเชจ
เชฌเซเชเชฎเซเชชเชเชฐ เชตเชฟ เชฏเซเชจเชฟเชฏเชจ
เชเซเชเชฒเชพเช เชเชฟเชธเซเชธเชพเชเชฎเชพเช, เชฌเซเชเชฎเซเชช เชนเซเชช เชธเซเชเซเชจ เช
เชฎเชจเซ เชเชฃเซ เชเชฐเซเช เชเชฐเชถเซ - เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช
เชฎเชพเชฐเซ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชฎเชพเช, เชเซเชฏเชพเชฐเซ เชเชฃเชพ เชฌเชงเชพ เชฐเซเชเซเชฐเซเชกเซเชธ เชเชตเชถเซเชฏเช เชถเชฐเชคเชจเซ เชชเซเชฐเซเชฃ เชเชฐเซ เชเซ. เช
เชฎเชจเซ เชคเซ เชฎเชณเซเชฏเซเช เชเชพเชฐเชฃ เชเซ เช
เชฅเชตเชพ เชธเซเชฅเชฟเชคเชฟ BitmapOr เชฎเชพเช เชซเซเชฐเชตเชพเช- เชฏเซเชเชจเชพเชฎเชพเช เชเชพเชฎเชเซเชฐเซ.
เชเชพเชฒเซ เชฎเซเชณ เชธเชฎเชธเซเชฏเชพ เชชเชฐ เชชเชพเชเชพ เชซเชฐเซเช - เชเชชเชฃเซ เชคเซเชจเซ เช
เชจเซเชฐเซเชช เชฐเซเชเซเชฐเซเชก เชถเซเชงเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซเชเชชเชฃ เชถเชฐเชคเซเชฎเชพเชเชฅเซ - เชเชเชฒเซ เชเซ, เชฌเชเชจเซ เชถเชฐเชคเซ เชนเซเช เชณ เชคเชฎเชพเชฎ 59K เชฐเซเชเซเชฐเซเชกเซเชธ เชถเซเชงเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ. เชเช เชถเชฐเชค เชฌเชนเชพเชฐ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชฎเชพเชฐเซเช เชเซ, เช
เชจเซ เชเซเชฏเชพเชฐเซ เชชเซเชฐเชฅเชฎเชฎเชพเช เชเชเช เชจ เชฎเชณเซเชฏเซเช เชคเซเชฏเชพเชฐเซ เช เชฌเซเชเชพ เชชเชฐ เชเชพเช. เชจเซเชเซเชจเซ เชกเชฟเชเชพเชเชจ เช
เชฎเชจเซ เชฎเชฆเชฆ เชเชฐเชถเซ:
(
SELECT
...
LIMIT 1
)
UNION ALL
(
SELECT
...
LIMIT 1
)
LIMIT 1
"เชฌเชพเชนเซเชฏ" เชฎเชฐเซเชฏเชพเชฆเชพ 1 เชเชพเชคเชฐเซ เชเชฐเซ เชเซ เชเซ เชเซเชฏเชพเชฐเซ เชชเซเชฐเชฅเชฎ เชฐเซเชเซเชฐเซเชก เชฎเชณเซ เชคเซเชฏเชพเชฐเซ เชถเซเชง เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เชเซ. เช เชจเซ เชเซ เชคเซ เชชเชนเซเชฒเชพเชฅเซ เช เชชเซเชฐเชฅเชฎ เชฌเซเชฒเซเชเชฎเชพเช เชเซเชตเชพ เชฎเชณเซ เชเซ, เชคเซ เชฌเซเชเซ เชฌเซเชฒเซเช เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ เชจเชนเซเช (เชเซเชฏเชพเชฐเซเชฏ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชจเชฅเซ เชจเชพ เชธเชจเซเชฎเชพเชจเชฎเชพเช).
"เชเซเชธ เชนเซเช เชณ เชฎเซเชถเซเชเซเชฒ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช เชเซเชชเชพเชตเชตเซ"
เชฎเซเชณ เชเซเชตเซเชฐเซ เชฎเชพเช เชเช เช
เชคเซเชฏเชเชค เช
เชธเซเชตเชฟเชงเชพเชเชจเช เชเซเชทเชฃ เชเซ - เชธเชเชฌเชเชงเชฟเชค เชเซเชทเซเชเช โDocumentExtensionโ เชธเชพเชฎเซ เชธเซเชฅเชฟเชคเชฟ เชคเชชเชพเชธเซ เชฐเชนเซ เชเซ. เช
เชญเชฟเชตเซเชฏเชเซเชคเชฟเชฎเชพเช เช
เชจเซเชฏ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชเชจเชพ เชธเชคเซเชฏเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชงเชพ เชตเชฟเชจเชพ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, 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 เชธเชฌเชฌเซเชฒเซเชเชฎเชพเช เช
เชจเซเชเซเชฐเชฎเชฟเชค เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช เชฅเซเชกเซ เช
เชฒเช เชเซ - เช เชเชเชฒเชพ เชฎเชพเชเซ เชเซ เชเชพเชฐเชฃ เชเซ เช
เชฎเชพเชฐเซ เชชเชพเชธเซ เชเซเชฌเชฒ เชชเชฐ เชชเชนเซเชฒเซเชฅเซ เช เชฏเซเชเซเชฏ เช
เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพเช เชเซ. เช
เชจเซ เชเซ เชคเซเช เช
เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชจ เชนเซเชฏ, เชคเซ เชคเซ เชฌเชจเชพเชตเชตเชพ เชฏเซเชเซเชฏ เชนเชถเซ: เชฆเชธเซเชคเชพเชตเซเช(เชตเซเชฏเชเซเชคเชฟ3, เชฆเชธเซเชคเชพเชตเซเชเชจเซ เชชเซเชฐเชเชพเชฐ) ะธ เชฆเชธเซเชคเชพเชตเซเช (เชฆเชธเซเชคเชพเชตเซเช เชชเซเชฐเชเชพเชฐ, เชเชฐเซเชฎเชเชพเชฐเซ).
ROW เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชเชฎเชพเช เชเซเชทเซเชคเซเชฐเซเชจเชพ เชเซเชฐเชฎ เชตเชฟเชถเซเชเชฏเซเชเชเชจเชพ เชฆเซเชทเซเชเชฟเชเซเชฃเชฅเซ, เช
เชฒเชฌเชคเซเชค, เชคเชฎเซ เชฒเชเซ เชถเชเซ เชเซ (A, B) = (constA, constB)เช
เชจเซ (B, A) = (constB, constA). เชชเชฐเชเชคเซ เชเซเชฏเชพเชฐเซ เชฐเซเชเซเชฐเซเชกเชฟเชเช เช
เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพเชฎเชพเช เชเซเชทเซเชคเซเชฐเซเชจเชพ เชเซเชฐเชฎเชฎเชพเช, เชเชตเซ เชตเชฟเชจเชเชคเซ เชชเชพเชเชณเชฅเซ เชกเซเชฌเช เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชงเซ เช
เชจเซเชเซเชณ เชเซ.
เชถเซเช เชเซ เชฏเซเชเชจเชพเชฎเชพเช?
เชเชฎเชจเชธเซเชฌเซ, เช
เชฎเซ เชเชฎเชจเชธเซเชฌ เชนเชคเชพ เช
เชจเซ เชชเซเชฐเชฅเชฎ UNION เชฌเซเชฒเซเชเชฎเชพเช เชเชเช เชฎเชณเซเชฏเซเช เชจ เชนเชคเซเช, เชคเซเชฅเซ เชฌเซเชเชพเชจเซ เชนเชเซ เชชเชฃ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ. เชชเชฐเชเชคเซ เชคเซเชฎ เชเชคเชพเช - เชฎเชพเชคเซเชฐ 0.037ms เช
เชจเซ 11 เชฌเชซเชฐเซเชธ!
เช
เชฎเซ เชตเชฟเชจเชเชคเซเชจเซ เชเชกเชชเซ เชฌเชจเชพเชตเซ เชเซ เช
เชจเซ เชฎเซเชฎเชฐเซเชฎเชพเช เชกเซเชเชพ เชชเชฎเซเชชเชฟเชเชเชฎเชพเช เชเชเชพเชกเซ เชเชฐเซเชฏเซ เชเซ เช
เชจเซเช เชนเชเชพเชฐ เชตเชเชค, เชเชเชฆเชฎ เชธเชฐเชณ เชคเชเชจเซเชเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ - เชฅเซเชกเซ เชเซเชชเซ-เชชเซเชธเซเช เชธเชพเชฅเซ เชธเชพเชฐเซเช เชชเชฐเชฟเชฃเชพเชฎ. ๐
เชธเซเชฐเซเชธ: www.habr.com