================================================================
 SQLpgEX  Version 1.0.0.1
 PostgreSQL svr[A
                                        Copyright (C) Miyacode
================================================================

̂т SQLpgEX _E[h肪Ƃ܂B
{ SQLpgEX ̎g܂Ƃ߂[U[}jAłB


 ڎ

  1. SQLpgEX Ƃ
  2. 
  3. CXg[ƃACXg[
  4. ܂Ă݂(1)
  5. EXPLAIN ǂݍ3̕@
  6. ʂ̌
  7. AhoCX@\ɂ
  8. Ƃ
  9. 
 10. p
 11. XV
 12. A


 1. SQLpgEX Ƃ

SQLpgEX ́APostgreSQL  EXPLAIN / EXPLAIN ANALYZE ̌ʂǂ
݁Asvc[Ɛ}ŕ\ Windows pt[\tgłB

EXPLAIN ̏o͂̓eLXĝ܂܂łǂ߂܂AKw[Ȃ
eq֌WǂłЂƋJłBSQLpgEX ɓ\t΁As
v̍\c[ƃJ[h}ňڂŕAԂ̂Ă
m[hACfbNXׂӏ̌t܂B

Seq Scan  Sort Ƃ\Iȃm[hɂ́AmFׂ|Cg
{ŕ\܂BSQL `[jOōŝł͂
܂񂪁Asvǂ݉ŏ̎|ƂĎg܂B

PostgreSQL T[o[ւ̐ڑ͍s܂BEXPLAIN ̌ʃeLXg
΁ADB ɐڑłȂłg܂B


 2. 

  Ή OS     : Windows 10 / Windows 11 (64bit)
  Kv\tg  : ɂȂ
  Ή    : PostgreSQL ̃eLXg` EXPLAIN / EXPLAIN ANALYZE
                (ANALYZE, BUFFERS, VERBOSE, SETTINGS, SUMMARY 
                 ܂ޏo͂ɑΉ)

NɃG[\ꍇ́AMicrosoft 
uVisual C++ ĔЕz\pbP[W (x64)vCXg[Ă
ēxB


 3. CXg[ƃACXg[

CXg[Ƃ͕svłB_E[h ZIP Cӂ̃tH
_ɉ𓀂ASQLpgEX.exe sĂB

ACXg[́A𓀂tH_ƍ폜邾łBʏ
̎gpł̓WXgւ݂͍̏s܂B


 4. ܂Ă݂(1)

茳 EXPLAIN ̌ʂȂĂmFł܂B

  1. SQLpgEX.exe N܂B
  2. ʉÉuTvv{^܂B

̃Tvsv悪ǂݍ܂AɃc[AEɃJ[h}A
ɏڍׂƑ]\܂B܂̉ʂŁAm[hNbN
ƕ\؂ւ邱Ƃm߂Ă݂ĂB


 5. EXPLAIN ǂݍ3̕@

PostgreSQL ł́Apsql  pgAdmin ȂǂŎ̂悤ɎsČ
eLXgpӂ܂B

  EXPLAIN ANALYZE SELECT ...;

ڂꍇ́Ǎ`߂łB

  EXPLAIN (ANALYZE, BUFFERS, VERBOSE, SETTINGS, SUMMARY)
  SELECT ...;

pӂeLXǵÂꂩ̕@œǂݍ݂܂B

(1) \tĉ͂
    úv{^ EXPLAIN ̓_CAOJ܂B
    ʃeLXg\t OK ĂB͗ł
    Enter L[ŉsł܂BLZƁA͓e
    jA̕\ێ܂B

(2) t@CJ
    uJ...v{^A܂̓j[́ut@C > J...v
    AEXPLAIN ʂۑeLXgt@C(.txt / .plan)
    Iт܂BR[h UTF-8AShift-JISAUTF-16(BOM t)
    ʂ܂B

(3) Tvǂݍ
    uTvv{^œTv\܂B

EXPLAIN ̌ʂł΁uQUERY PLANṽwb_[sr
ĂĂ܂܂BIɓǂݔ΂܂B


 6. ʂ̌

ʂ1ʍ\ŁÄ̗ɕĂ܂B

  c[   : sv̐eq֌WKw\܂B
  EJ[h} : em[hJ[hŕ\AeqŌт܂B
  (ڍ) : I𒆃m[h̐lƉPAhoCX\܂B
  E(]) : svŜ̏WvƊmF|Cg\܂B
  ŉ       : ͌ʂG[\Xe[^XłB

c[̃m[ȟɂ́AEXPLAIN ANALYZE ̏ꍇ͎Ԃ
su[160.0 ms / rows=10]v̌`ŕ\܂BANALYZE
Ȃ EXPLAIN ł́u[rows=1000]v̂悤ɐs̕\
Ȃ܂B

c[ƃJ[h}͂ǂNbNĂAđI؂ւ
AڍחXV܂BJ[h}͎sv悪傫ꍇAE[
Ɖ[̃XN[o[ŕ\͈͂ړł܂B

ڍחɂ͑I𒆃m[hɂĎ̏񂪕\܂B

  Ecost(RXg) rows ()
  Eactual timeArows ()Aloops (EXPLAIN ANALYZE ̏ꍇ)
  Em[h(qm[h̎ԂÃm[hg̎)
  EFilterAIndex CondASort Key Ȃǂ̒
  EBuffersAVerbose Output(BUFFERS / VERBOSE w莞)
  E_ƉP̃AhoCX

̂um[hԁv SQLpgEX ̒SIȏłBEXPLAIN
 actual time ͎qm[h̎Ԃ܂񂾗ݐϒl̂߁Â܂܌
Ɛem[hقǑ傫Ă܂܂BSQLpgEX ͎qm[h
ԂvZA{ɎԂgĂm[h𔻒Ɏg
܂B


 7. AhoCX@\ɂ

I𒆂̃m[hɉāÂ悤Ȋϓ_̃AhoCXDx
([] [] [])tŕ\܂B

  EtB^t Seq Scan ɑ΂CfbNX
  ESort ɑ΂AяɍCfbNX̊mF
  EHash Join / Nested Loop ̌ɊւmF
  EJԂ(loops)m[h̒
  Em[hԂ傫m[h̃{glbNwE
  EsƎs10{ȏジĂꍇ́Av
    XV(ANALYZE)̒

AhoCX͊ȈՓIȃ[ɊÂumF|Cg̒񎦁vłB
ۂ̃`[jOf́Af[^ʁACfbNXAvA
SQL ŜmFōsĂB


 8. Ƃ

Q. um[h͂łȂvƂG[o
A. ͂ PostgreSQL ̃eLXg` EXPLAIN mFĂ
   BJSON `(FORMAT JSON)Acost \̂Ȃo
   (COSTS OFF)͉͂ł܂Bm[hs (cost=...) ܂
   ĂKv܂B

Q. t@CJƕ
A. UTF-8AShift-JISAUTF-16(BOM t)͎ʂ܂A
   ȊO̕R[h̏ꍇ́AeLXgGfB^ UTF-8 Ƃĕ
   ĂǂݍłB

Q. Esc L[ĂIȂ
A. 둀h~̂߁AEsc / Enter L[ł͏IȂdlłB
   I͉E̕{^A܂́ut@C > Ivs
   ĂB

Q. 2ڂ̃EBhEJȂ
A. {\tg͓dNȂdlłBłɋNĂꍇ́A
   ̃EBhEOʂɕ\܂B

Q. ʂČÂ炢
A. EBhE̒[hbOčLƁAë悪IɍĔz
   u܂B


 9. 

  EEXPLAIN (FORMAT JSON) ɂ͑ΉĂ܂B
  ECOSTS OFF ̏o͂ɂ͑ΉĂ܂B
  EPostgreSQL T[o[֒ڐڑ@\͂܂B
  Eǂݍ߂t@CTCY 64MB ܂łłB
  E傫`EHꂽ EXPLAIN o͉͂͂łȂꍇ
    ܂B
  Ej[́uCZXo^vuCZX̕\v́At
    [\tgłł͖Ă܂Bُł͂܂B


 10. p

{\tg̓t[\tgłBlEƂ킸ŗpłA
ppɂč҂̋͕svłB

{\tg͖ۏ؂łB{\tggpʐȂ鑹Q
ɂĂA҂͐ӔC𕉂܂B

҂̋Ȃ{\tgĔzz邱Ƃ͂ł܂BA
ƁEĉ̓ŁA擾zzt@CT[o[ɒuē
̗p҂ɂ̂ݔzz邱Ƃ͖肠܂B

쒆̃XN[Vbg摜E̎舵ɐ͂܂
(ʂɑ҂̒앨@񂪊܂܂ꍇ́A̎舵
Kɏ]Ă)B


 11. XV

  Version 1.0.0.1 (2026-07-27)
    EŌJ
    EPostgreSQL eLXg` EXPLAIN / EXPLAIN ANALYZE ̉
    Esṽc[\ƃJ[h}\
    EIm[h̏ڍו\(/̋ʁAm[h)
    EȈՃAhoCXƑ]̕\
    Et@Cǂݍ(UTF-8 / Shift-JIS / UTF-16 )A
      \t́ATvɑΉ


 12. A

     : Miyacode
  A : goldteru2fft@gmail.com

s̂񍐂̍ۂ́Ag Windows ̃o[WƁA\ł
Γǂݍ܂ EXPLAIN eLXgYĂƏ܂B

================================================================
