Ko te patai matarohia ka kawea mai e te kaiwhakawhanake ki tana DBA, ka kawea mai ranei e tetahi kaipakihi pakihi ki tetahi kaitohutohu PostgreSQL he rite tonu te tangi: “He aha te take i roa ai te whakaoti i nga tono i runga i te paataka raraunga?”
He huinga take tuku iho:
- hātepe hātepe huakore
ina whakatau koe ki te WHAKATOI ki etahi CTE mo te rua tekau mano o nga rekoata - nga tatauranga kore
mena he rereke kee te tohatoha o nga raraunga i te ripanga mai i te mea i kohia e ANALYZE i tera wa - "mono" ki nga rauemi
a kua kore e nui te mana rorohiko whakatapua o te PTM, kei te pupuhi tonu nga gigabytes o te mahara, kaore ranei e taea e te kōpae te pupuri i nga "hiahia" katoa o te papaarangi - ārai mai i nga tukanga whakataetae
A, ki te tino uaua ki te hopu me te tātari, mo nga mea katoa e hiahia ana matou mahere uiui, ka taea te tiki ma te whakamahi
Engari, pera i te korero i roto i taua tuhinga,
"Ko te mohio ki te mahere he mahi toi, a, ki te mohio ki te mahere me whai wheako nui..."
Engari ka taea e koe me te kore e whakamahi i te taputapu tika!
He aha te ahua o te mahere patai? He mea penei:
Index Scan using pg_class_relname_nsp_index on pg_class (actual time=0.049..0.050 rows=1 loops=1)
Index Cond: (relname = $1)
Filter: (oid = $0)
Buffers: shared hit=4
InitPlan 1 (returns $0,$1)
-> Limit (actual time=0.019..0.020 rows=1 loops=1)
Buffers: shared hit=1
-> Seq Scan on pg_class pg_class_1 (actual time=0.015..0.015 rows=1 loops=1)
Filter: (relkind = 'r'::"char")
Rows Removed by Filter: 5
Buffers: shared hit=1
penei ranei:
"Append (cost=868.60..878.95 rows=2 width=233) (actual time=0.024..0.144 rows=2 loops=1)"
" Buffers: shared hit=3"
" CTE cl"
" -> Seq Scan on pg_class (cost=0.00..868.60 rows=9972 width=537) (actual time=0.016..0.042 rows=101 loops=1)"
" Buffers: shared hit=3"
" -> Limit (cost=0.00..0.10 rows=1 width=233) (actual time=0.023..0.024 rows=1 loops=1)"
" Buffers: shared hit=1"
" -> CTE Scan on cl (cost=0.00..997.20 rows=9972 width=233) (actual time=0.021..0.021 rows=1 loops=1)"
" Buffers: shared hit=1"
" -> Limit (cost=10.00..10.10 rows=1 width=233) (actual time=0.117..0.118 rows=1 loops=1)"
" Buffers: shared hit=2"
" -> CTE Scan on cl cl_1 (cost=0.00..997.20 rows=9972 width=233) (actual time=0.001..0.104 rows=101 loops=1)"
" Buffers: shared hit=2"
"Planning Time: 0.634 ms"
"Execution Time: 0.248 ms"
Engari ko te panui i te mahere i roto i te tuhinga "mai i te rau" he tino uaua, he maamaa:
- ka whakaatuhia ki te pona whakarāpopoto mā ngā rauemi rākau iti
ara, kia mohio koe ki te roa o te wa ki te mahi i tetahi node, ki te nui ranei o tenei panui mai i te ripanga i kawe mai i nga raraunga mai i te kōpae, me tango e koe tetahi mai i tetahi. - e hiahiatia ana te wa node whakareatia ki nga koropiko
ae, ko te tangohanga ehara i te mahi tino uaua me mahi "i roto i te upoko" - i muri i nga mea katoa, ka tohuhia te wa mahi hei toharite mo te mahi kotahi o te node, a tera pea he rau. - pai, a ko enei katoa ka aukati i a maatau ki te whakautu i te patai matua - na ko wai "te hononga ngoikore"?
I a matou e ngana ana ki te whakamaarama i enei mea katoa ki etahi rau o o maatau kaiwhakawhanake, i mohio matou mai i waho te ahua penei:
A ko te tikanga me ...
Tool
I roto i tenei ka ngana matou ki te kohikohi i nga miihini matua katoa e awhina ana ki te mohio "ko wai te he me te aha" kia rite ki te mahere me te tono. Ana, ka tohatoha i tetahi waahanga o to wheako ki te hapori.
Tutaki me te whakamahi -
Te tirohanga o nga mahere
He ngawari te maarama ki te mahere ina penei te ahua?
Seq Scan on pg_class (actual time=0.009..1.304 rows=6609 loops=1)
Buffers: shared hit=263
Planning Time: 0.108 ms
Execution Time: 1.800 ms
Ehara i te mea tino.
Engari penei, i roto i te ahua whakapotoka wehea nga tohu matua, ka tino marama ake:
Engari mena he uaua ake te mahere, ka haere mai ia ki te whakaora tohanga wa wahanga mā ngā kōpuku:
Ana, mo nga whiringa tino uaua kei te tere ia ki te awhina tūtohi ahunga whakamua:
Hei tauira, he ahuatanga kore-iti ka nui ake i te kotahi te putake o te mahere:
Nga tohu hanganga
Ana, ki te mea kua whakatakotohia te hanganga katoa o te mahere me ona waahi mamae, he aha e kore ai e tohu ki te kaiwhakawhanake me te whakamarama i roto i te "reo Russian"?
Kua kohia kētia e matou te rua o nga tauira tauira tohutohu penei.
Raina-i-raina kaikorero patai
Inaianei, ki te whakauru koe i te patai taketake ki runga i te mahere kua tātarihia, ka kite koe i te nui o te wa i pau mo ia tauākī takitahi - penei:
...he penei ranei:
Te whakakapi i nga tawhā ki te tono
Mena ka "whakapiri" koe ehara i te tono anake ki te mahere, engari ano hoki ona tawhā mai i te raina DETAIL o te raarangi, ka taea ano e koe te kape ki tetahi o nga whiringa:
- me te whakakapinga uara i roto i te tono
mo te mahi tika i runga i to turanga me etahi atu koreroSELECT 'const', 'param'::text;
- me te whakakapinga uara ma te WHAKARITENGA / WHAKAMAHI
ki te whai i nga mahi a te kaihōtaka, i te wa e kore e arohia te waahanga parametric - hei tauira, i te wa e mahi ana i nga ripanga wehewehe.DEALLOCATE ALL; PREPARE q(text) AS SELECT 'const', $1::text; EXECUTE q('param'::text);
Pūranga o ngā mahere
Whakapiri, wetewete, tohatoha ki nga hoa mahi! Ka noho purangatia nga mahere ka taea e koe te hoki atu ki a raatau:
Engari ki te kore koe e hiahia kia kite etahi atu i to mahere, kaua e wareware ki te tirotiro i te pouaka "kaua e whakaputa i roto i te puranga".
I roto i nga tuhinga e whai ake nei ka korero ahau mo nga uauatanga me nga whakatau ka puta mai i te wa e tarai ana i tetahi mahere.
Source: will.com