He aha te WHAKAMAHI e wahangu ana me pehea te korero

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 WHAKAMAHI i te kaiwhakahaere (He pai ake, o te akoranga, ki te WHAKAMAHI i nga wa tonu (whakamarama, KAUPAPA) ...) ranei auto_whakamarama kōwae.

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:

He aha te WHAKAMAHI e wahangu ana me pehea te korero

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 - whakamārama.tensor.ru

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:

He aha te WHAKAMAHI e wahangu ana me pehea te korero

Engari mena he uaua ake te mahere, ka haere mai ia ki te whakaora tohanga wa wahanga mā ngā kōpuku:

He aha te WHAKAMAHI e wahangu ana me pehea te korero

Ana, mo nga whiringa tino uaua kei te tere ia ki te awhina tūtohi ahunga whakamua:

He aha te WHAKAMAHI e wahangu ana me pehea te korero

Hei tauira, he ahuatanga kore-iti ka nui ake i te kotahi te putake o te mahere:

He aha te WHAKAMAHI e wahangu ana me pehea te koreroHe aha te WHAKAMAHI e wahangu ana me pehea te korero

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"?

He aha te WHAKAMAHI e wahangu ana me pehea te koreroKua 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 aha te WHAKAMAHI e wahangu ana me pehea te korero

...he penei ranei:

He aha te WHAKAMAHI e wahangu ana me pehea te korero

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 korero

    SELECT '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: whakamārama.tensor.ru/archive

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

Tāpiri i te kōrero