Upgrade to Pro — share decks privately, control downloads, hide ads and more …

4D v11 SQL in Depth (2010)

4D v11 SQL in Depth (2010)

Avatar for 4D Japan

4D Japan

August 31, 2023
Tweet

More Decks by 4D Japan

Other Decks in Programming

Transcript

  1. Tokyo/2010-03-03/04 ༻ޠͷఆٛ • ίΦϖϥςΟϒ: ଞͷϓϩηεʢλεΫ, εϨο υ, ...ʣʹৡΔCPU࣌ؒΛࣗ෼ͰܾΊΔϓϩηε ‣ ಠ઎Ͱ͖Δ

    = ϒϩοΫͰ͖Δʢྫ : Mac OS 9ʣ ‣ ͻͱͭͷΞϓϦέʔγϣϯͷίΦϖϥςΟϒεϨ ου͸ඞͣಉ͡ίΞͰ࣮ߦ͞ΕΔ
  2. Tokyo/2010-03-03/04 ༻ޠͷఆٛ • ίΦϖϥςΟϒ: ଞͷϓϩηεʢλεΫ, εϨο υ, ...ʣʹৡΔCPU࣌ؒΛࣗ෼ͰܾΊΔϓϩηε ‣ ಠ઎Ͱ͖Δ

    = ϒϩοΫͰ͖Δʢྫ : Mac OS 9ʣ ‣ ͻͱͭͷΞϓϦέʔγϣϯͷίΦϖϥςΟϒεϨ ου͸ඞͣಉ͡ίΞͰ࣮ߦ͞ΕΔ • ϓϦΤϯϓςΟϒ: ͦΕͧΕͷϓϩηεʹ༩͑ΒΕ ΔCPU࣌ؒ͸OS͕൑அ͢Δ
  3. Tokyo/2010-03-03/04 ༻ޠͷఆٛ • ίΦϖϥςΟϒ: ଞͷϓϩηεʢλεΫ, εϨο υ, ...ʣʹৡΔCPU࣌ؒΛࣗ෼ͰܾΊΔϓϩηε ‣ ಠ઎Ͱ͖Δ

    = ϒϩοΫͰ͖Δʢྫ : Mac OS 9ʣ ‣ ͻͱͭͷΞϓϦέʔγϣϯͷίΦϖϥςΟϒεϨ ου͸ඞͣಉ͡ίΞͰ࣮ߦ͞ΕΔ • ϓϦΤϯϓςΟϒ: ͦΕͧΕͷϓϩηεʹ༩͑ΒΕ ΔCPU࣌ؒ͸OS͕൑அ͢Δ • ϓϦΤϯϓςΟϒͳ౓߹͍͕ߴ͍΄Ͳ଎͍
  4. Tokyo/2010-03-03/04 ࡾରͷπΠϯ • 4D Clientͷάϩʔόϧϓϩηε͸ඞͣαʔόʔʹ͋Δ;ͨͭͷπΠ ϯϓϩηεͱର࿩͍ͯ͠Δ: ‣ ϓϦΤϯϓςΟϒ εϨου: «७ਮͳ»

    DB4DϦΫΤετΛॲཧ (query, order by, create, ...) ‣ ίΦϖϥςΟϒ εϨου: ΞϓϦέʔγϣϯϦΫΤετΛॲཧ (Current date(*), GET PROCESS VARIABLE(-1;...), τϦΨ, ...) 4
  5. Tokyo/2010-03-03/04 ࡾରͷπΠϯ • 4D Clientͷάϩʔόϧϓϩηε͸ඞͣαʔόʔʹ͋Δ;ͨͭͷπΠ ϯϓϩηεͱର࿩͍ͯ͠Δ: ‣ ϓϦΤϯϓςΟϒ εϨου: «७ਮͳ»

    DB4DϦΫΤετΛॲཧ (query, order by, create, ...) ‣ ίΦϖϥςΟϒ εϨου: ΞϓϦέʔγϣϯϦΫΤετΛॲཧ (Current date(*), GET PROCESS VARIABLE(-1;...), τϦΨ, ...) • ϓϦΤϯϓςΟϒͳୈࡾͷεϨουͱର࿩͢Δ͜ͱ΋͋Δ 4
  6. Tokyo/2010-03-03/04 ࡾରͷπΠϯ • 4D Clientͷάϩʔόϧϓϩηε͸ඞͣαʔόʔʹ͋Δ;ͨͭͷπΠ ϯϓϩηεͱର࿩͍ͯ͠Δ: ‣ ϓϦΤϯϓςΟϒ εϨου: «७ਮͳ»

    DB4DϦΫΤετΛॲཧ (query, order by, create, ...) ‣ ίΦϖϥςΟϒ εϨου: ΞϓϦέʔγϣϯϦΫΤετΛॲཧ (Current date(*), GET PROCESS VARIABLE(-1;...), τϦΨ, ...) • ϓϦΤϯϓςΟϒͳୈࡾͷεϨουͱର࿩͢Δ͜ͱ΋͋Δ ‣ ͜Ε͸Begin SQL͕࣮ߦ͞ΕΔͱ࡞੒͞ΕΔ 4
  7. Tokyo/2010-03-03/04 ࡾରͷπΠϯ • 4D Clientͷάϩʔόϧϓϩηε͸ඞͣαʔόʔʹ͋Δ;ͨͭͷπΠ ϯϓϩηεͱର࿩͍ͯ͠Δ: ‣ ϓϦΤϯϓςΟϒ εϨου: «७ਮͳ»

    DB4DϦΫΤετΛॲཧ (query, order by, create, ...) ‣ ίΦϖϥςΟϒ εϨου: ΞϓϦέʔγϣϯϦΫΤετΛॲཧ (Current date(*), GET PROCESS VARIABLE(-1;...), τϦΨ, ...) • ϓϦΤϯϓςΟϒͳୈࡾͷεϨουͱର࿩͢Δ͜ͱ΋͋Δ ‣ ͜Ε͸Begin SQL͕࣮ߦ͞ΕΔͱ࡞੒͞ΕΔ • ͦΕͧΕͷର࿩͸ҟͳΔωοτϫʔΫϙʔτΛ࢖༻͢Δ: 4 . . . $date:=Current date(*) . . . QUERY([City];[City]Name=”Paris”) . . . Begin SQL . . .
  8. Tokyo/2010-03-03/04 ࡾରͷπΠϯ • 4D Clientͷάϩʔόϧϓϩηε͸ඞͣαʔόʔʹ͋Δ;ͨͭͷπΠ ϯϓϩηεͱର࿩͍ͯ͠Δ: ‣ ϓϦΤϯϓςΟϒ εϨου: «७ਮͳ»

    DB4DϦΫΤετΛॲཧ (query, order by, create, ...) ‣ ίΦϖϥςΟϒ εϨου: ΞϓϦέʔγϣϯϦΫΤετΛॲཧ (Current date(*), GET PROCESS VARIABLE(-1;...), τϦΨ, ...) • ϓϦΤϯϓςΟϒͳୈࡾͷεϨουͱର࿩͢Δ͜ͱ΋͋Δ ‣ ͜Ε͸Begin SQL͕࣮ߦ͞ΕΔͱ࡞੒͞ΕΔ • ͦΕͧΕͷର࿩͸ҟͳΔωοτϫʔΫϙʔτΛ࢖༻͢Δ: 4 . . . $date:=Current date(*) . . . QUERY([City];[City]Name=”Paris”) . . . Begin SQL . . . ΞϓϦέʔγϣϯαʔόʔϙʔτ: 19813
  9. Tokyo/2010-03-03/04 ࡾରͷπΠϯ • 4D Clientͷάϩʔόϧϓϩηε͸ඞͣαʔόʔʹ͋Δ;ͨͭͷπΠ ϯϓϩηεͱର࿩͍ͯ͠Δ: ‣ ϓϦΤϯϓςΟϒ εϨου: «७ਮͳ»

    DB4DϦΫΤετΛॲཧ (query, order by, create, ...) ‣ ίΦϖϥςΟϒ εϨου: ΞϓϦέʔγϣϯϦΫΤετΛॲཧ (Current date(*), GET PROCESS VARIABLE(-1;...), τϦΨ, ...) • ϓϦΤϯϓςΟϒͳୈࡾͷεϨουͱର࿩͢Δ͜ͱ΋͋Δ ‣ ͜Ε͸Begin SQL͕࣮ߦ͞ΕΔͱ࡞੒͞ΕΔ • ͦΕͧΕͷର࿩͸ҟͳΔωοτϫʔΫϙʔτΛ࢖༻͢Δ: 4 . . . $date:=Current date(*) . . . QUERY([City];[City]Name=”Paris”) . . . Begin SQL . . . DB4D ϙʔτ: 19814 ΞϓϦέʔγϣϯαʔόʔϙʔτ: 19813 SQLαʔόʔϙʔτ: 19812
  10. Tokyo/2010-03-03/04 4D Server αʔόʔ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ

    2 ίΞ 3 ίΞ 4 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3…⋯ Ϣʔβʔ 1
  11. Tokyo/2010-03-03/04 4D Server αʔόʔ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ

    2 ίΞ 3 ίΞ 4 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3…⋯ Ϣʔβʔ 1 ϓϩηε U1-1 ϓϩηε U1-1 19813 19814
  12. Tokyo/2010-03-03/04 4D Server αʔόʔ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ

    2 ίΞ 3 ίΞ 4 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3…⋯ Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1…⋯ R2 Ϣʔβʔ 3 ϓϩηε U1-1 ϓϩηε U1-1 ϓϩηε U2-2 R1.. R3 19813 19814
  13. Tokyo/2010-03-03/04 4D Server αʔόʔ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ

    2 ίΞ 3 ίΞ 4 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3…⋯ Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1…⋯ R2 Ϣʔβʔ 3 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U2-2 R1.. R3 19813 19814
  14. Tokyo/2010-03-03/04 4D Server αʔόʔ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ

    2 ίΞ 3 ίΞ 4 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3…⋯ Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1…⋯ R2 Ϣʔβʔ 3 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U2-2 R1.. R3 19813 19814
  15. Tokyo/2010-03-03/04 4D Server αʔόʔ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ

    2 ίΞ 3 ίΞ 4 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3…⋯ Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1…⋯ R2 Ϣʔβʔ 3 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U2-2 R1.. R3 19813 19814
  16. Tokyo/2010-03-03/04 4D Server αʔόʔ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ

    2 ίΞ 3 ίΞ 4 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U2-2 R1.. R2 19813 19814
  17. Tokyo/2010-03-03/04 4D Server αʔόʔ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ

    2 ίΞ 3 ίΞ 4 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U1-1 ϓϩηε U2-1 ϓϩηε U2-2 ϓϩηε U3-1 ϓϩηε U3-2 ϓϩηε U2-2 R1.. R2 19813 19814
  18. Tokyo/2010-03-03/04 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY

    (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1…⋯ R2 Ϣʔβʔ 3 ϓϩηε U2-2 R1.. R3 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ
  19. Tokyo/2010-03-03/04 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY

    (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 ϓϩηε U2-2 R1.. R2 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ
  20. Tokyo/2010-03-03/04 Begin SQL... Begin SQL... Begin SQL... Begin SQL... Begin

    SQL... 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 ϓϩηε U2-2 R1.. R2 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ
  21. Tokyo/2010-03-03/04 Begin SQL... Begin SQL... Begin SQL... Begin SQL... Begin

    SQL... 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 ϓϩηε U2-2 R1.. R2 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ 19812
  22. Tokyo/2010-03-03/04 Begin SQL... Begin SQL... Begin SQL... Begin SQL... Begin

    SQL... 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 ϓϩηε U2-2 R1.. R2 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ 19812
  23. Tokyo/2010-03-03/04 Begin SQL... Begin SQL... Begin SQL... Begin SQL... Begin

    SQL... 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 ϓϩηε U2-2 R1.. R2 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ 19812
  24. Tokyo/2010-03-03/04 Begin SQL... Begin SQL... Begin SQL... Begin SQL... Begin

    SQL... 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 Process U2-2 R1.. R2 19812 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ
  25. Tokyo/2010-03-03/04 Begin SQL... Begin SQL... Begin SQL... Begin SQL... Begin

    SQL... 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 Process U2-2 R1.. R2 19812 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ
  26. Tokyo/2010-03-03/04 Begin SQL... Begin SQL... Begin SQL... Begin SQL... Begin

    SQL... 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 ϓϩηε U2-2 R1.. R2 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ 19812
  27. Tokyo/2010-03-03/04 ৳ுੑͱ଎౓ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ

    3 ίΞ 4 εέδϡʔϥʔ DBϦΫΤετ͸ಉ࣌ʹෳ਺ͷ ΫϥΠΞϯτ͕࣮ߦͰ͖Δ
  28. Tokyo/2010-03-03/04 ৳ுੑͱ଎౓ ϘτϧωοΫ ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2

    ίΞ 3 ίΞ 4 εέδϡʔϥʔ DBϦΫΤετ͸ಉ࣌ʹෳ਺ͷ ΫϥΠΞϯτ͕࣮ߦͰ͖Δ ϥϯήʔδ τϦΨ ϝιου «αʔόʔͰ࣮ߦ» ετΞυϓϩγʔδϟʔ Web αʔόʔ/SOAP 4Dࣗମ: αʔόʔͷϢʔβʔΠϯλϑΣʔ ε ίωΫγϣϯϋϯυϥʔ ͋Δछͷ֎෦SQLϦΫΤετ
  29. Tokyo/2010-03-03/04 v11-v12 σεΫτοϓ σεΫτοϓ ΫϥΠΞϯτ ΫϥΠΞϯτ-αʔόʔ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ

    ΠϯλϑΣʔ ε全般 ϥϯήʔδ ετΞυϓϩγʔδϟʔ HTTP αʔόʔ ΞϓϦέʔγϣϯαʔόʔ ΠϯσοΫεϏϧμ ʔ ϑϥογϡϚωʔδϟʔ SQL αʔόʔ DB4D(σʔλΞΫηε)
  30. Tokyo/2010-03-03/04 v11-v12 σεΫτοϓ σεΫτοϓ ΫϥΠΞϯτ ΫϥΠΞϯτ-αʔόʔ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ

    ΠϯλϑΣʔ ε全般 ϥϯήʔδ ετΞυϓϩγʔδϟʔ HTTP αʔόʔ ΞϓϦέʔγϣϯαʔόʔ ΠϯσοΫεϏϧμ ʔ ϑϥογϡϚωʔδϟʔ SQL αʔόʔ DB4D(σʔλΞΫηε)
  31. Tokyo/2010-03-03/04 Begin SQL... Begin SQL... Begin SQL... Begin SQL... Begin

    SQL... 4D Server αʔόʔ 19813 19814 ϓϩηε U1-1 Req1... QUERY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U2-1 R1... Current date(*) R2.. Ϣʔβʔ 2 ϓϩηε U3-1 R1…⋯ R2 ϓϩηε U3-2 R1.. R2 Ϣʔβʔ 3 ϓϩηε U2-2 R1.. R2 ΦϖϨʔςΟϯάγεςϜ ίΦϖϥςΟϒ ϓϦΤϯϓςΟϒ ίΞ 1 ίΞ 2 ίΞ 3 ίΞ 4 εέδϡʔϥʔ
  32. Tokyo/2010-03-03/04 ϘτϧωοΫ ϥϯήʔδ τϦΨ ϝιου «αʔόʔͰ࣮ߦ» ετΞυϓϩγʔδϟʔ Web αʔόʔ/SOAP 4Dࣗମ:

    αʔόʔͷϢʔβʔΠϯλϑΣʔ ε ίωΫγϣϯϋϯυϥʔ ͋Δछͷ֎෦SQLϦΫΤετ
  33. Tokyo/2010-03-03/04 ϘτϧωοΫ ϥϯήʔδ τϦΨ ϝιου «αʔόʔͰ࣮ߦ» ετΞυϓϩγʔδϟʔ Web αʔόʔ/SOAP •

    αʔόʔ͕ૉૣ͘ऴ͑ΒΕΔΑ͏ʹ • τϦΨ: ‣ ઈରʹඞཁͳ৔߹͚ͩ ‣ ൚༻తͳίʔυ͸ආ͚Δ • ΫϥΠΞϯτ͔ΒϓϦΤϯϓςΟϒʹ (STA/ ATS, ...) • EXECUTE ON CLIENT͕׆༻Ͱ͖Δ͔΋ • ίϯύΠϧϞʔυͰॏ౓ͷϧʔ ϓ: IDLE • ίʔυϦϑΝΫλϦϯά: ͦΜͳʹͨ͘͞Μͷε τΞυϓϩγʔδϟʔ͕΄Μͱ͏ʹඞཁ ? • . . .
  34. Tokyo/2010-03-03/04 ϘτϧωοΫ ϥϯήʔδ τϦΨ ϝιου «αʔόʔͰ࣮ߦ» ετΞυϓϩγʔδϟʔ Web αʔόʔ/SOAP •

    αʔόʔ͕ૉૣ͘ऴ͑ΒΕΔΑ͏ʹ • τϦΨ: ‣ ઈରʹඞཁͳ৔߹͚ͩ ‣ ൚༻తͳίʔυ͸ආ͚Δ • ΫϥΠΞϯτ͔ΒϓϦΤϯϓςΟϒʹ (STA/ ATS, ...) • EXECUTE ON CLIENT͕׆༻Ͱ͖Δ͔΋ • ίϯύΠϧϞʔυͰॏ౓ͷϧʔ ϓ: IDLE • ίʔυϦϑΝΫλϦϯά: ͦΜͳʹͨ͘͞Μͷε τΞυϓϩγʔδϟʔ͕΄Μͱ͏ʹඞཁ ? • . . . ߟྔͤΑ «ෛՙͱ଎౓»
  35. Clichy/2010-02-03 4D, ௨ৗ QUERY( . . .) SQL SELECT .

    . . FROM . . . WHERE . . . SQL vs 4D - ύϑΥʔϚϯε
  36. Clichy/2010-02-03 4D, ௨ৗ QUERY( . . .) SQL SELECT .

    . . FROM . . . WHERE . . . ΠϯλϓϦλʔ SQL vs 4D - ύϑΥʔϚϯε
  37. Clichy/2010-02-03 4D, ௨ৗ QUERY( . . .) SQL SELECT .

    . . FROM . . . WHERE . . . ΠϯλϓϦλʔ DB4D Τϯδϯ σʔλϑΝΠϧ/ΠϯσοΫεϑΝΠϧ SQL vs 4D - ύϑΥʔϚϯε
  38. Clichy/2010-02-03 • 4D͸ෆՄ෼, ϫϯΞΫγϣϯʹରͯ͠ߴ౓ʹ࠷దԽ ‣ QUERY - ݕࡧ, ηϨΫγϣϯͷ࡞੒, ઌ಄Ϩίʔυͷϩʔυ

    - ͜͜·ͰΛ͢΂ͯͻͱͭͷίϚϯυͰ • SQL͸൚༻త ‣ ͻͱͭͷ໋ྩ (SELECT) Ͱ͋ΒΏΔཁٻʹରॲ SQL vs 4D - ύϑΥʔϚϯε
  39. Clichy/2010-02-03 • 4D͸ෆՄ෼, ϫϯΞΫγϣϯʹରͯ͠ߴ౓ʹ࠷దԽ ‣ QUERY - ݕࡧ, ηϨΫγϣϯͷ࡞੒, ઌ಄Ϩίʔυͷϩʔυ

    - ͜͜·ͰΛ͢΂ͯͻͱͭͷίϚϯυͰ • SQL͸൚༻త ‣ ͻͱͭͷ໋ྩ (SELECT) Ͱ͋ΒΏΔཁٻʹରॲ ‣ Ճ͑ͯଘࡏ͢ΔΦʔόʔϔου: - ղੳ - ݕূ - SQL ύεεϧʔ SQL vs 4D - ύϑΥʔϚϯε
  40. Clichy/2010-02-03 • 4D͸ෆՄ෼, ϫϯΞΫγϣϯʹରͯ͠ߴ౓ʹ࠷దԽ ‣ QUERY - ݕࡧ, ηϨΫγϣϯͷ࡞੒, ઌ಄Ϩίʔυͷϩʔυ

    - ͜͜·ͰΛ͢΂ͯͻͱͭͷίϚϯυͰ • SQL͸൚༻త ‣ ͻͱͭͷ໋ྩ (SELECT) Ͱ͋ΒΏΔཁٻʹରॲ ‣ Ճ͑ͯଘࡏ͢ΔΦʔόʔϔου: - ղੳ - ݕূ - SQL ύεεϧʔ - ϥϯήʔδόΠϯσΟϯά SQL vs 4D - ύϑΥʔϚϯε
  41. Clichy/2010-02-03 • 4D͸ෆՄ෼, ϫϯΞΫγϣϯʹରͯ͠ߴ౓ʹ࠷దԽ ‣ QUERY - ݕࡧ, ηϨΫγϣϯͷ࡞੒, ઌ಄Ϩίʔυͷϩʔυ

    - ͜͜·ͰΛ͢΂ͯͻͱͭͷίϚϯυͰ • SQL͸൚༻త ‣ ͻͱͭͷ໋ྩ (SELECT) Ͱ͋ΒΏΔཁٻʹରॲ ‣ Ճ͑ͯଘࡏ͢ΔΦʔόʔϔου: - ղੳ - ݕূ - SQL ύεεϧʔ - ϥϯήʔδόΠϯσΟϯά - Τϯδϯোน SQL vs 4D - ύϑΥʔϚϯε
  42. Clichy/2010-02-03 4D, ௨ৗ QUERY( . . .) SQL SELECT .

    . . FROM . . . WHERE . . . ΠϯλϓϦλʔ DB4D Τϯδϯ σʔλϑΝΠϧ/ΠϯσοΫεϑΝΠϧ
  43. Clichy/2010-02-03 4D, ௨ৗ QUERY( . . .) SQL SELECT .

    . . FROM . . . WHERE . . . ΠϯλϓϦλʔ DB4D Τϯδϯ σʔλϑΝΠϧ/ΠϯσοΫεϑΝΠϧ
  44. Clichy/2010-02-03 • v11: SQL ͸ 5-10 ഒ஗͍৔߹͕͋Δ ‣ ͔͜͠͠Ε͸๞͘·Ͱฏۉ, ͋·ΓัΘΕͳ͍Α͏ʹ

    ‣ ৔߹ʹΑͬͯ͸, SQLͷ΄͏͕଎͍͜ͱ΋ - యܕྫ͸ܭࢉΛཁ͢Δεςʔτϝϯτ: SELECT (Debits - Credits) FROM Clients into :rBalance - ϓϦΤϯϓςΟϒ - গͳ͍ωοτϫʔΫϦΫΤετ SQL vs 4D - ύϑΥʔϚϯε
  45. Clichy/2010-02-03 • v11: SQL ͸ 5-10 ഒ஗͍৔߹͕͋Δ ‣ ͔͜͠͠Ε͸๞͘·Ͱฏۉ, ͋·ΓัΘΕͳ͍Α͏ʹ

    ‣ ৔߹ʹΑͬͯ͸, SQLͷ΄͏͕଎͍͜ͱ΋ - యܕྫ͸ܭࢉΛཁ͢Δεςʔτϝϯτ: SELECT (Debits - Credits) FROM Clients into :rBalance - ϓϦΤϯϓςΟϒ - গͳ͍ωοτϫʔΫϦΫΤετ • SQL 12 vs SQL v11 ‣ ϩʔΧϧσʔλϑΣονϯά => 2-3 ഒߴ଎ ‣ ϦϞʔτσʔλϑΣονϯά => 5-20 ഒߴ଎ SQL vs 4D - ύϑΥʔϚϯε
  46. Clichy/2010-02-03 • ͲͷΑ͏ͳ৔߹ʹSQLΛ࢖༻͢Δ΂͖ ? ‣ ͦͷ΄͏͕଎͍ͱࢥ͑Δࠜڌ͕͋Δͱ͖ ‣ SQLͰهड़ͨ͠΄͏ָ͕ʢඒ͍͠ ?ʣͳͱ͖ ‣

    ଞͷDBʢ4D͋Δ͍͸ͦΕҎ֎ʣʹ઀ଓ͢Δͱ͖ ‣ SQLಛ༗ͷػೳ͕ඞཁͳͱ͖ SQL vs 4D - ύϑΥʔϚϯε
  47. Tokyo/2010-03-03/04 Ωϟογϡ • ओཁͳ໨త͸଎౓Ξοϓʢ4D: σʔλΞΫηεʣ ‣ ྫ: ϨίʔυΛϩʔυ͢Δ - ॳճ͸σΟεΫ͔ΒಡΈࠐΈ:

    ΞΫηε͸ϛϦඵͷੈք - Ҏ߱͸Ωϟογϡ͔Β: ΞΫηε͸φϊඵͷੈք 1,000,000 ഒߴ଎ ΋͠ 1 ns = 1 ඵͩͱ͢Ε͹, 1 ms = 11,5 ೔
  48. Tokyo/2010-03-03/04 Ωϟογϡ • ओཁͳ໨త͸଎౓Ξοϓʢ4D: σʔλΞΫηεʣ ‣ ྫ: ϨίʔυΛϩʔυ͢Δ - ॳճ͸σΟεΫ͔ΒಡΈࠐΈ:

    ΞΫηε͸ϛϦඵͷੈք - Ҏ߱͸Ωϟογϡ͔Β: ΞΫηε͸φϊඵͷੈք • Ωϟογϡʹऩೲ͞ΕΔ΋ͷ͸ ? - ςʔϒϧ, ϑΟʔϧυ, ϦϨʔγϣϯ, ΠϯσοΫεͳͲετϥΫνϟఆٛ৘ใ - ݱࡏͷσʔλϕʔεʹؔ͢Δશൠతͳ৘ใʢϑΝΠϧύε, ϓϩύςΟͳͲʣ - σʔλϑΝΠϧΞϩέʔγϣϯϏοτςʔϒϧ - Ϩίʔυ, ΠϯσοΫε, BLOBͷ௥Ճ৘ใ, ௥ՃϓϩύςΟͳͲ - ΠϯσοΫεϖʔδ - Ϩίʔυ - BLOBʢΩϟογϡʹॆ෼ͷεϖʔε͕ͳ͚Ε͹ϝΠϯϝϞϦʹߦ͘͜ͱ΋ʣ - ͦͷଞͷϓϩύςΟ - γʔέϯγϟϧφϯόʔ - τϥϯβΫγϣϯ - ηϨΫγϣϯ - ηοτ - ฒͼସ͑༻ͷҰ࣌తόοϑΝ, ઌಡΈ, σΟεΫॻ͖ࠐΈ༻όοϑΝͳͲ
  49. Tokyo/2010-03-03/04 Ωϟογϡ • ΄ͱΜͲ͸খ͞ͳΦϒδΣΫτ: (<= 64 KB) ‣ ϑΝϛϦʔ͝ͱʹϦϯΫ͍ͯ͠ΔͨΊ -

    ྫ #1: ͋ΔςʔϒϧͷϨίʔυ100,000,000 ݅෼ͷΞυϨεͷϦετ͸ ෳ਺ͷΞυϨεςʔϒϧʹಡΈࠐ·ΕΔʢͦΕͧΕ͸ <= 64 KBʣ
  50. Tokyo/2010-03-03/04 Ωϟογϡ • ΄ͱΜͲ͸খ͞ͳΦϒδΣΫτ: (<= 64 KB) ‣ ϑΝϛϦʔ͝ͱʹϦϯΫ͍ͯ͠ΔͨΊ -

    ྫ #1: ͋ΔςʔϒϧͷϨίʔυ100,000,000 ݅෼ͷΞυϨεͷϦετ͸ ෳ਺ͷΞυϨεςʔϒϧʹಡΈࠐ·ΕΔʢͦΕͧΕ͸ <= 64 KBʣ - ྫ #2: ηοτ͸খ͞ͳΦϒδΣΫτʹѹॖɾ෼ࢄ͞Ε͍ͯΔ
  51. Tokyo/2010-03-03/04 Ωϟογϡ • ΄ͱΜͲ͸খ͞ͳΦϒδΣΫτ: (<= 64 KB) ‣ ϑΝϛϦʔ͝ͱʹϦϯΫ͍ͯ͠ΔͨΊ -

    ྫ #1: ͋ΔςʔϒϧͷϨίʔυ100,000,000 ݅෼ͷΞυϨεͷϦετ͸ ෳ਺ͷΞυϨεςʔϒϧʹಡΈࠐ·ΕΔʢͦΕͧΕ͸ <= 64 KBʣ - ྫ #2: ηοτ͸খ͞ͳΦϒδΣΫτʹѹॖɾ෼ࢄ͞Ε͍ͯΔ • ͓͓͖͍ΦϒδΣΫτ͸ϢʔβʔΦϒδΣΫτ:
  52. Tokyo/2010-03-03/04 Ωϟογϡ • ΄ͱΜͲ͸খ͞ͳΦϒδΣΫτ: (<= 64 KB) ‣ ϑΝϛϦʔ͝ͱʹϦϯΫ͍ͯ͠ΔͨΊ -

    ྫ #1: ͋ΔςʔϒϧͷϨίʔυ100,000,000 ݅෼ͷΞυϨεͷϦετ͸ ෳ਺ͷΞυϨεςʔϒϧʹಡΈࠐ·ΕΔʢͦΕͧΕ͸ <= 64 KBʣ - ྫ #2: ηοτ͸খ͞ͳΦϒδΣΫτʹѹॖɾ෼ࢄ͞Ε͍ͯΔ • ͓͓͖͍ΦϒδΣΫτ͸ϢʔβʔΦϒδΣΫτ: ‣ BLOBɹ
  53. Tokyo/2010-03-03/04 Ωϟογϡ • ΄ͱΜͲ͸খ͞ͳΦϒδΣΫτ: (<= 64 KB) ‣ ϑΝϛϦʔ͝ͱʹϦϯΫ͍ͯ͠ΔͨΊ -

    ྫ #1: ͋ΔςʔϒϧͷϨίʔυ100,000,000 ݅෼ͷΞυϨεͷϦετ͸ ෳ਺ͷΞυϨεςʔϒϧʹಡΈࠐ·ΕΔʢͦΕͧΕ͸ <= 64 KBʣ - ྫ #2: ηοτ͸খ͞ͳΦϒδΣΫτʹѹॖɾ෼ࢄ͞Ε͍ͯΔ • ͓͓͖͍ΦϒδΣΫτ͸ϢʔβʔΦϒδΣΫτ: ‣ BLOBɹ ‣ ϐΫνϟ
  54. Tokyo/2010-03-03/04 Ωϟογϡ • ΄ͱΜͲ͸খ͞ͳΦϒδΣΫτ: (<= 64 KB) ‣ ϑΝϛϦʔ͝ͱʹϦϯΫ͍ͯ͠ΔͨΊ -

    ྫ #1: ͋ΔςʔϒϧͷϨίʔυ100,000,000 ݅෼ͷΞυϨεͷϦετ͸ ෳ਺ͷΞυϨεςʔϒϧʹಡΈࠐ·ΕΔʢͦΕͧΕ͸ <= 64 KBʣ - ྫ #2: ηοτ͸খ͞ͳΦϒδΣΫτʹѹॖɾ෼ࢄ͞Ε͍ͯΔ • ͓͓͖͍ΦϒδΣΫτ͸ϢʔβʔΦϒδΣΫτ: ‣ BLOBɹ ‣ ϐΫνϟ ‣ ςΩετ
  55. Tokyo/2010-03-03/04 Ωϟογϡ • ΄ͱΜͲ͸খ͞ͳΦϒδΣΫτ: (<= 64 KB) ‣ ϑΝϛϦʔ͝ͱʹϦϯΫ͍ͯ͠ΔͨΊ -

    ྫ #1: ͋ΔςʔϒϧͷϨίʔυ100,000,000 ݅෼ͷΞυϨεͷϦετ͸ ෳ਺ͷΞυϨεςʔϒϧʹಡΈࠐ·ΕΔʢͦΕͧΕ͸ <= 64 KBʣ - ྫ #2: ηοτ͸খ͞ͳΦϒδΣΫτʹѹॖɾ෼ࢄ͞Ε͍ͯΔ • ͓͓͖͍ΦϒδΣΫτ͸ϢʔβʔΦϒδΣΫτ: ‣ BLOBɹ ‣ ϐΫνϟ ‣ ςΩετ ‣ ʢϨίʔυʣ «BLOBs»ͱ૯শ͢Δ
  56. Tokyo/2010-03-03/04 Ωϟογϡ • ελʔτΞοϓͰ֬อ͞ΕΔ • ΞϓϦέʔγϣϯ࣮ߦத, ॻ͖ࠐΈ, ύʔδ, ϑϥογϡ, ࠶഑

    ஔ͕܁Γฦ͞ΕΔ • FLUSH BUFFERS • «ԚΕͨ»ΦϒδΣΫτΛσΟεΫͷอଘ͢Δ͜ͱ
  57. Tokyo/2010-03-03/04 Ωϟογϡ • ελʔτΞοϓͰ֬อ͞ΕΔ • ΞϓϦέʔγϣϯ࣮ߦத, ॻ͖ࠐΈ, ύʔδ, ϑϥογϡ, ࠶഑

    ஔ͕܁Γฦ͞ΕΔ • FLUSH BUFFERS • «ԚΕͨ»ΦϒδΣΫτΛσΟεΫͷอଘ͢Δ͜ͱ • ͦͷޙ «ԚΕ͍ͯͳ͍»ͱ͍͏ҹ͕෇͚ΒΕΔ
  58. Tokyo/2010-03-03/04 Ωϟογϡ • ελʔτΞοϓͰ֬อ͞ΕΔ • ΞϓϦέʔγϣϯ࣮ߦத, ॻ͖ࠐΈ, ύʔδ, ϑϥογϡ, ࠶഑

    ஔ͕܁Γฦ͞ΕΔ • FLUSH BUFFERS • «ԚΕͨ»ΦϒδΣΫτΛσΟεΫͷอଘ͢Δ͜ͱ • ͦͷޙ «ԚΕ͍ͯͳ͍»ͱ͍͏ҹ͕෇͚ΒΕΔ • ͦΕʹΑΓ, ύʔδͯ͠΋ྑ͍ঢ়ଶʹͳΔ
  59. Tokyo/2010-03-03/04 Ωϟογϡ • ελʔτΞοϓͰ֬อ͞ΕΔ • ΞϓϦέʔγϣϯ࣮ߦத, ॻ͖ࠐΈ, ύʔδ, ϑϥογϡ, ࠶഑

    ஔ͕܁Γฦ͞ΕΔ • FLUSH BUFFERS • «ԚΕͨ»ΦϒδΣΫτΛσΟεΫͷอଘ͢Δ͜ͱ • ͦͷޙ «ԚΕ͍ͯͳ͍»ͱ͍͏ҹ͕෇͚ΒΕΔ • ͦΕʹΑΓ, ύʔδͯ͠΋ྑ͍ঢ়ଶʹͳΔ σΟεΫΞΫηε͸ϛϦඵͷੈք ෆඞཁʹFLUSH BUFFERSͯ͠͸͍͚ͳ͍
  60. Tokyo/2010-03-03/04 Ωϟογϡ • ঢ়گ: - ϩʔυ͠ͳ͚Ε͹ͳΒͳ͍ΦϒδΣΫτ͕͋Δ: Ϩίʔυ,ΞυϨεςʔϒϧ, ... - ॆ෼ͳεϖʔ

    ε͕ͳ͍ • ߦಈ: Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸? Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε
  61. Tokyo/2010-03-03/04 Ωϟογϡ • ঢ়گ: - ϩʔυ͠ͳ͚Ε͹ͳΒͳ͍ΦϒδΣΫτ͕͋Δ: Ϩίʔυ,ΞυϨεςʔϒϧ, ... - ॆ෼ͳεϖʔ

    ε͕ͳ͍ • ߦಈ: Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸? Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε
  62. Tokyo/2010-03-03/04 Ωϟογϡ • ঢ়گ: - ϩʔυ͠ͳ͚Ε͹ͳΒͳ͍ΦϒδΣΫτ͕͋Δ: Ϩίʔυ,ΞυϨεςʔϒϧ, ... - ॆ෼ͳεϖʔ

    ε͕ͳ͍ • ߦಈ: Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸? Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε
  63. Tokyo/2010-03-03/04 Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸ ?

    ֬อͨ͠Ωϟογϡ߹ܭͷ10% Ωϟογϡ͕1GBͷ৔߹,ΩϟογϡϚωʔδϟʔ͸ 100MBύʔδ͠Α͏ͱ͢Δ
  64. Tokyo/2010-03-03/04 Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸ ?

    ֬อͨ͠Ωϟογϡ߹ܭͷ10% Ωϟογϡ͕1GBͷ৔߹,ΩϟογϡϚωʔδϟʔ͸ 100MBύʔδ͠Α͏ͱ͢Δ ύʔδ
  65. Tokyo/2010-03-03/04 Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸ ?

    ֬อͨ͠Ωϟογϡ߹ܭͷ10% Ωϟογϡ͕1GBͷ৔߹,ΩϟογϡϚωʔδϟʔ͸ 100MBύʔδ͠Α͏ͱ͢Δ ύʔδ ԚΕ͍ͯͳ͍ΦϒδΣΫτΛύʔδ
  66. Tokyo/2010-03-03/04 Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸ ?

    ֬อͨ͠Ωϟογϡ߹ܭͷ10% Ωϟογϡ͕1GBͷ৔߹,ΩϟογϡϚωʔδϟʔ͸ 100MBύʔδ͠Α͏ͱ͢Δ ύʔδ ϝϞϦΛΞϩέʔτ ԚΕ͍ͯͳ͍ΦϒδΣΫτΛύʔδ
  67. Tokyo/2010-03-03/04 Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸ ?

    ֬อͨ͠Ωϟογϡ߹ܭͷ10% Ωϟογϡ͕1GBͷ৔߹,ΩϟογϡϚωʔδϟʔ͸ 100MBύʔδ͠Α͏ͱ͢Δ ύʔδ OK? ϝϞϦΛΞϩέʔτ ԚΕ͍ͯͳ͍ΦϒδΣΫτΛύʔδ
  68. Tokyo/2010-03-03/04 Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸ ?

    ֬อͨ͠Ωϟογϡ߹ܭͷ10% Ωϟογϡ͕1GBͷ৔߹,ΩϟογϡϚωʔδϟʔ͸ 100MBύʔδ͠Α͏ͱ͢Δ ύʔδ OK? ϝϞϦΛΞϩέʔτ ͸͍ ԚΕ͍ͯͳ͍ΦϒδΣΫτΛύʔδ
  69. Tokyo/2010-03-03/04 Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸ ?

    ֬อͨ͠Ωϟογϡ߹ܭͷ10% Ωϟογϡ͕1GBͷ৔߹,ΩϟογϡϚωʔδϟʔ͸ 100MBύʔδ͠Α͏ͱ͢Δ ύʔδ OK? ϝϞϦΛΞϩέʔτ FLUSH BUFFERS ͍͍͑ ͸͍ ԚΕ͍ͯͳ͍ΦϒδΣΫτΛύʔδ
  70. Tokyo/2010-03-03/04 Repeat Ωϟογϡͷ10%Λύʔδ ΦϒδΣΫτΛΞϩέʔτ Until ॆ෼ͷεϖʔ ε Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸ ?

    ֬อͨ͠Ωϟογϡ߹ܭͷ10% Ωϟογϡ͕1GBͷ৔߹,ΩϟογϡϚωʔδϟʔ͸ 100MBύʔδ͠Α͏ͱ͢Δ ύʔδ OK? ϝϞϦΛΞϩέʔτ FLUSH BUFFERS ͍͍͑ ͸͍ ԚΕ͍ͯͳ͍ΦϒδΣΫτΛύʔδ
  71. Tokyo/2010-03-03/04 Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸? v11͸2004ΑΓ΋ܶతʹ଎͘ͳͬͨ • 2004: ϋϯυϧ Mac ͱ࿈݁Ϧετ ➡

    ΦϒδΣΫτ͸ಈ͍ͨ ➡ 4D͸ϦετશମΛͨͲΔඞཁ͕͋ͬͨ ԚΕ͍ͯͳ͍ΦϒδΣΫτΛύʔδ
  72. Tokyo/2010-03-03/04 Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸? v11͸2004ΑΓ΋ܶతʹ଎͘ͳͬͨ • 2004: ϋϯυϧ Mac ͱ࿈݁Ϧετ ➡

    ΦϒδΣΫτ͸ಈ͍ͨ ➡ 4D͸ϦετશମΛͨͲΔඞཁ͕͋ͬͨ • V11: ϙΠϯλͱҰछͷΞυϨεςʔϒϧ ➡ ΦϒδΣΫτ͸ಈ͔ͳ͍ ➡ ࠷େ3 ΞΫηεͰΦϒδΣΫτʹ౸ୡ ԚΕ͍ͯͳ͍ΦϒδΣΫτΛύʔδ
  73. Tokyo/2010-03-03/04 Ωϟογϡ Ωϟογϡ͕ϝϞϦΛඞཁͱ͢Δͱ͖͸? v11͸2004ΑΓ΋ܶతʹ଎͘ͳͬͨ • 2004: ϋϯυϧ Mac ͱ࿈݁Ϧετ ➡

    ΦϒδΣΫτ͸ಈ͍ͨ ➡ 4D͸ϦετશମΛͨͲΔඞཁ͕͋ͬͨ • V11: ϙΠϯλͱҰछͷΞυϨεςʔϒϧ ➡ ΦϒδΣΫτ͸ಈ͔ͳ͍ ➡ ࠷େ3 ΞΫηεͰΦϒδΣΫτʹ౸ୡ v11ͷ৽͍͠ΩϟογϡϝϞϦϚωʔδϟʔͷ͓͔͛ ԚΕ͍ͯͳ͍ΦϒδΣΫτΛύʔδ
  74. Tokyo/2010-03-03/04 Ωϟογϡ • 4D 32 Ϗοτ ➡ ࠷େ 2.5 GB

    ➡ OS 32/64 ʹؔ܎ͳ͘ ‣ ϋʔυίʔυ͞Εͨ஋ ‣ Ϣʔβʔ͕> 2.5 Λઃఆͨ͠৔߹͸Լํमਖ਼ ࠷େαΠζ͸?
  75. Tokyo/2010-03-03/04 Ωϟογϡ • 4D 32 Ϗοτ ➡ ࠷େ 2.5 GB

    ➡ OS 32/64 ʹؔ܎ͳ͘ ‣ ϋʔυίʔυ͞Εͨ஋ ‣ Ϣʔβʔ͕> 2.5 Λઃఆͨ͠৔߹͸Լํमਖ਼ • 4D 64 Ϗοτ 4D Server v12ͷΈ ࠷େαΠζ͸?
  76. Tokyo/2010-03-03/04 Ωϟογϡ • 4D 32 Ϗοτ ➡ ࠷େ 2.5 GB

    ➡ OS 32/64 ʹؔ܎ͳ͘ ‣ ϋʔυίʔυ͞Εͨ஋ ‣ Ϣʔβʔ͕> 2.5 Λઃఆͨ͠৔߹͸Լํमਖ਼ • 4D 64 Ϗοτ 4D Server v12ͷΈ ➡ «੍ݶͳ͠» ࠷େαΠζ͸?
  77. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 4D Server ϓϦΤϯϓςΟϒ ίΦϖϥςΟϒ 19813 19814 ϓϩηε

    U1-1 Req1... ORDER BY (Table1) R2…⋯ R3 Ϣʔβʔ 1 ϓϩηε U1-1 ϓϩηε U1-1
  78. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 44 ίΦϖϥςΟϒ ϓϩηε U1-1 ϓϩηε U1-1 Req1...

    R2…⋯ R3 ίΦϖϥςΟϒπΠϯϓϩηε͕࢖༻͢Δ΋ͷ: - τϦΨ - “αʔόʔͰ࣮ߦ” ϓϩύςΟ͕༗ޮʹ͞Εͨϝιου
  79. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 44 ίΦϖϥςΟϒ ϓϩηε U1-1 ϓϩηε U1-1 Req1...

    R2…⋯ R3 ίΦϖϥςΟϒπΠϯϓϩηε͕࢖༻͢Δ΋ͷ: - τϦΨ - “αʔόʔͰ࣮ߦ” ϓϩύςΟ͕༗ޮʹ͞Εͨϝιου “αʔόʔͰ࣮ߦ” τϦΨ τϥϯβΫγϣϯεςʔτ ϨίʔυϩοΩϯά ϓϩηεηοτ ϓϩηε໋໊ηϨΫγϣϯ ΧϨϯτηϨΫγϣϯ ΧϨϯτϨίʔυ
  80. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 44 ίΦϖϥςΟϒ ϓϩηε U1-1 ϓϩηε U1-1 Req1...

    R2…⋯ R3 ίΦϖϥςΟϒπΠϯϓϩηε͕࢖༻͢Δ΋ͷ: - τϦΨ - “αʔόʔͰ࣮ߦ” ϓϩύςΟ͕༗ޮʹ͞Εͨϝιου “αʔόʔͰ࣮ߦ” τϦΨ τϥϯβΫγϣϯεςʔτ ϨίʔυϩοΩϯά ϓϩηεηοτ ϓϩηε໋໊ηϨΫγϣϯ ΧϨϯτηϨΫγϣϯ ΧϨϯτϨίʔυ
  81. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 44 ίΦϖϥςΟϒ ϓϩηε U1-1 ϓϩηε U1-1 Req1...

    R2…⋯ R3 ίΦϖϥςΟϒπΠϯϓϩηε͕࢖༻͢Δ΋ͷ: - τϦΨ - “αʔόʔͰ࣮ߦ” ϓϩύςΟ͕༗ޮʹ͞Εͨϝιου “αʔόʔͰ࣮ߦ” τϦΨ τϥϯβΫγϣϯεςʔτ ϨίʔυϩοΩϯά ϓϩηεηοτ ϓϩηε໋໊ηϨΫγϣϯ ΧϨϯτηϨΫγϣϯ ΧϨϯτϨίʔυ
  82. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 44 ίΦϖϥςΟϒ ϓϩηε U1-1 ϓϩηε U1-1 Req1...

    R2…⋯ R3 ίΦϖϥςΟϒπΠϯϓϩηε͕࢖༻͢Δ΋ͷ: - τϦΨ - “αʔόʔͰ࣮ߦ” ϓϩύςΟ͕༗ޮʹ͞Εͨϝιου “αʔόʔͰ࣮ߦ” τϦΨ τϥϯβΫγϣϯεςʔτ ϨίʔυϩοΩϯά ϓϩηεηοτ ϓϩηε໋໊ηϨΫγϣϯ ΧϨϯτηϨΫγϣϯ ΧϨϯτϨίʔυ
  83. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 44 ίΦϖϥςΟϒ ϓϩηε U1-1 ϓϩηε U1-1 Req1...

    R2…⋯ R3 ίΦϖϥςΟϒπΠϯϓϩηε͕࢖༻͢Δ΋ͷ: - τϦΨ - “αʔόʔͰ࣮ߦ” ϓϩύςΟ͕༗ޮʹ͞Εͨϝιου “αʔόʔͰ࣮ߦ” τϦΨ τϥϯβΫγϣϯεςʔτ ϨίʔυϩοΩϯά ϓϩηεηοτ ϓϩηε໋໊ηϨΫγϣϯ ΧϨϯτηϨΫγϣϯ ΧϨϯτϨίʔυ
  84. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 44 ίΦϖϥςΟϒ ϓϩηε U1-1 ϓϩηε U1-1 Req1...

    R2…⋯ R3 ίΦϖϥςΟϒπΠϯϓϩηε͕࢖༻͢Δ΋ͷ: - τϦΨ - “αʔόʔͰ࣮ߦ” ϓϩύςΟ͕༗ޮʹ͞Εͨϝιου “αʔόʔͰ࣮ߦ” τϦΨ τϥϯβΫγϣϯεςʔτ ϨίʔυϩοΩϯά ϓϩηεηοτ ϓϩηε໋໊ηϨΫγϣϯ ΧϨϯτηϨΫγϣϯ ΧϨϯτϨίʔυ
  85. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 44 ίΦϖϥςΟϒ ϓϩηε U1-1 ϓϩηε U1-1 Req1...

    R2…⋯ R3 ίΦϖϥςΟϒπΠϯϓϩηε͕࢖༻͢Δ΋ͷ: - τϦΨ - “αʔόʔͰ࣮ߦ” ϓϩύςΟ͕༗ޮʹ͞Εͨϝιου “αʔόʔͰ࣮ߦ” τϦΨ τϥϯβΫγϣϯεςʔτ ϨίʔυϩοΩϯά ϓϩηεηοτ ϓϩηε໋໊ηϨΫγϣϯ ΧϨϯτηϨΫγϣϯ ΧϨϯτϨίʔυ (*) τϦΨͷςʔϒϧͷΈ (*)
  86. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ 44 ίΦϖϥςΟϒ ϓϩηε U1-1 ϓϩηε U1-1 Req1...

    R2…⋯ R3 ίΦϖϥςΟϒπΠϯϓϩηε͕࢖༻͢Δ΋ͷ: - τϦΨ - “αʔόʔͰ࣮ߦ” ϓϩύςΟ͕༗ޮʹ͞Εͨϝιου “αʔόʔͰ࣮ߦ” τϦΨ τϥϯβΫγϣϯεςʔτ ϨίʔυϩοΩϯά ϓϩηεηοτ ϓϩηε໋໊ηϨΫγϣϯ ΧϨϯτηϨΫγϣϯ ΧϨϯτϨίʔυ (*) τϦΨͷςʔϒϧͷΈ (*)
  87. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ • ྫ: ϦϨʔτηϨΫγϣϯͷsumΛτϦΨͰܭࢉ ‣ ΫϥΠΞϯταΠυ: . .

    . QUERY([OrderLines];[OrderLines]_OrderID=[Order]ID) SAVE RECORD([Order]) . . . ‣ αʔόʔαΠυ («On save existing record») [Order]Total:=Sum([OrderLines]Price)
  88. Tokyo/2010-03-03/04 σʔλϕʔ είϯςΩετ • ྫ: ϦϨʔτηϨΫγϣϯͷsumΛτϦΨͰܭࢉ ‣ ΫϥΠΞϯταΠυ: . .

    . QUERY([OrderLines];[OrderLines]_OrderID=[Order]ID) SAVE RECORD([Order]) . . . ‣ αʔόʔαΠυ («On save existing record») [Order]Total:=Sum([OrderLines]Price) [OrderLines] ͷηϨΫγϣϯ͸ۭ
  89. Tokyo/2010-03-03/04 τϦΨ • (ಛੑͱ໨తΛߟྀ͢Δ) • ΫϥΠΞϯταʔόʔ: : ‣ ηϨΫγϣϯͱΧϨϯτϨίʔυ (ΧϨϯτςʔϒϧͷϨίʔυҎ֎)

    ‣ ΫϥΠΞϯτͱಉظ͕औΒΕ͍ͯͳ͍ => ࠶ݱ͢Δඞཁ͕͋Δ ϓϩηεηοτ,ϓϩηε໋໊ηϨΫγϣϯ,ϨίʔυϩοΩϯά,τϥϯβΫ ≠ 2004
  90. Tokyo/2010-03-03/04 τϦΨ • (ಛੑͱ໨తΛߟྀ͢Δ) • ΫϥΠΞϯταʔόʔ: : ‣ ηϨΫγϣϯͱΧϨϯτϨίʔυ (ΧϨϯτςʔϒϧͷϨίʔυҎ֎)

    ‣ ΫϥΠΞϯτͱಉظ͕औΒΕ͍ͯͳ͍ => ࠶ݱ͢Δඞཁ͕͋Δ ϓϩηεηοτ,ϓϩηε໋໊ηϨΫγϣϯ,ϨίʔυϩοΩϯά,τϥϯβΫ γϣϯεςʔτ͸ಉظ͕ͱΒΕ͍ͯΔ ≠ 2004
  91. Tokyo/2010-03-03/04 τϦΨ • (ಛੑͱ໨తΛߟྀ͢Δ) • ΫϥΠΞϯταʔόʔ: : ‣ ηϨΫγϣϯͱΧϨϯτϨίʔυ (ΧϨϯτςʔϒϧͷϨίʔυҎ֎)

    ‣ ΫϥΠΞϯτͱಉظ͕औΒΕ͍ͯͳ͍ => ࠶ݱ͢Δඞཁ͕͋Δ ϓϩηεηοτ,ϓϩηε໋໊ηϨΫγϣϯ,ϨίʔυϩοΩϯά,τϥϯβΫ γϣϯεςʔτ͸ಉظ͕ͱΒΕ͍ͯΔ • ෳ਺͕ “ಉ࣌ʹ૸Δ” (ίΦϖϥςΟϒεϨουͷϓʔϧͷதͰ) • ੍ݶ ≠ 2004
  92. Tokyo/2010-03-03/04 τϦΨ • (ಛੑͱ໨తΛߟྀ͢Δ) • ΫϥΠΞϯταʔόʔ: : ‣ ηϨΫγϣϯͱΧϨϯτϨίʔυ (ΧϨϯτςʔϒϧͷϨίʔυҎ֎)

    ‣ ΫϥΠΞϯτͱಉظ͕औΒΕ͍ͯͳ͍ => ࠶ݱ͢Δඞཁ͕͋Δ ϓϩηεηοτ,ϓϩηε໋໊ηϨΫγϣϯ,ϨίʔυϩοΩϯά,τϥϯβΫ γϣϯεςʔτ͸ಉظ͕ͱΒΕ͍ͯΔ • ෳ਺͕ “ಉ࣌ʹ૸Δ” (ίΦϖϥςΟϒεϨουͷϓʔϧͷதͰ) • ੍ݶ ‣ ίΦϖϥςΟϒ લड़ͷͱ͓Γ ≠ 2004
  93. Tokyo/2010-03-03/04 τϦΨ • (ಛੑͱ໨తΛߟྀ͢Δ) • ΫϥΠΞϯταʔόʔ: : ‣ ηϨΫγϣϯͱΧϨϯτϨίʔυ (ΧϨϯτςʔϒϧͷϨίʔυҎ֎)

    ‣ ΫϥΠΞϯτͱಉظ͕औΒΕ͍ͯͳ͍ => ࠶ݱ͢Δඞཁ͕͋Δ ϓϩηεηοτ,ϓϩηε໋໊ηϨΫγϣϯ,ϨίʔυϩοΩϯά,τϥϯβΫ γϣϯεςʔτ͸ಉظ͕ͱΒΕ͍ͯΔ • ෳ਺͕ “ಉ࣌ʹ૸Δ” (ίΦϖϥςΟϒεϨουͷϓʔϧͷதͰ) • ੍ݶ ‣ ίΦϖϥςΟϒ લड़ͷͱ͓Γ ‣ ࠷୹ͷ࣌ؒͰऴྃ͠ͳ͚Ε͹ͳΒͳ͍= ൚༻తͰͳ͍ ≠ 2004
  94. Tokyo/2010-03-03/04 εέδϡʔϥʔ • εέδϡʔϥʔͷ໨త ? • ͳͥv11ʹͳͬͯ΋εέδϡʔϥʔ͕ඞཁͳͷ͔ ? ‣ 4Dϥϯήʔδ͸εϨουηʔ

    ϑͰ͸ͳ͍͔Β • εέδϡʔϥʔͷٖࣅίʔυ: For 1͔Βϓϩηε਺·Ͱ If ϓϩηε͕஗Ԇ͋Δ͍͸ఀࢭ͞Ε͍ͯͳ͚Ε͹ ͦͷίʔυΛ 1 tick ࣮ߦ͢Δ(16 ms)
  95. Tokyo/2010-03-03/04 εέδϡʔϥʔ • 4D͸֤ϓϩηε1 tickͷపఈΛࢼΈΔ • εέδϡʔϥʔʹ੍ޚΛฦ͞ͳ͍ϓϩηε͸ଞ͢΂ ͯΛ๦֐͢ΔʢϢʔβʔΠϯλϑΣʔ ε΋ !ʣ:

    ‣ ΠϯλϓϦλϞʔυͰ͸େৎ෉ For 1͔Βϓϩηε਺·Ͱ If ϓϩηε͕஗Ԇ͋Δ͍͸ఀࢭ͞Ε͍ͯͳ͚Ε͹ ͦͷίʔυΛ 1 tick ࣮ߦ͢Δ(16 ms)
  96. Tokyo/2010-03-03/04 εέδϡʔϥʔ • 4D͸֤ϓϩηε1 tickͷపఈΛࢼΈΔ • εέδϡʔϥʔʹ੍ޚΛฦ͞ͳ͍ϓϩηε͸ଞ͢΂ ͯΛ๦֐͢ΔʢϢʔβʔΠϯλϑΣʔ ε΋ !ʣ:

    ‣ ΠϯλϓϦλϞʔυͰ͸େৎ෉ ‣ ίϯύΠϧϞʔυͰ͸ى͜ΓಘΔʢయܕతͳ ྫ͸IDLEΛίʔϧ͠ͳ͍ߴີ౓ϧʔ ϓʣ For 1͔Βϓϩηε਺·Ͱ If ϓϩηε͕஗Ԇ͋Δ͍͸ఀࢭ͞Ε͍ͯͳ͚Ε͹ ͦͷίʔυΛ 1 tick ࣮ߦ͢Δ(16 ms)
  97. Tokyo/2010-03-03/04 εέδϡʔϥʔ • 4D͸֤ϓϩηε1 tickͷపఈΛࢼΈΔ • εέδϡʔϥʔʹ੍ޚΛฦ͞ͳ͍ϓϩηε͸ଞ͢΂ ͯΛ๦֐͢ΔʢϢʔβʔΠϯλϑΣʔ ε΋ !ʣ:

    ‣ ΠϯλϓϦλϞʔυͰ͸େৎ෉ ‣ ίϯύΠϧϞʔυͰ͸ى͜ΓಘΔʢయܕతͳ ྫ͸IDLEΛίʔϧ͠ͳ͍ߴີ౓ϧʔ ϓʣ ‣ ϓϥάΠϯ͸ PA_Yield() ͋Δ͍͸ PA_PieldAbsolute()Λίʔϧ͢Δ΂͖ For 1͔Βϓϩηε਺·Ͱ If ϓϩηε͕஗Ԇ͋Δ͍͸ఀࢭ͞Ε͍ͯͳ͚Ε͹ ͦͷίʔυΛ 1 tick ࣮ߦ͢Δ(16 ms)
  98. Tokyo/2010-03-03/04 1.ΠϕϯτΛνΣοΫʢϚ΢ε, ΩʔϘʔυ, ...ʣ ➡ ద੾ͳ4Dϓϩηεʹ఻ୡ͢Δ 2.ͦͷޙ, ΞΫςΟϒϓϩηεʹ1 tickͣͭͷϧʔ ϓʹಥೖ

    εέδϡʔϥʔ ࣮ࡍʹ͸ For 1͔Βϓϩηε਺·Ͱ If ϓϩηε͕஗Ԇ͋Δ͍͸ఀࢭ͞Ε͍ͯͳ͚Ε͹ ͦͷίʔυΛ 1 tick ࣮ߦ͢Δ(16 ms)
  99. Tokyo/2010-03-03/04 While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If νΣοΫ_ִؒ ͕ܦաͨ͠

    If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = λΠϜΞ΢τ_࠷୹ Else λΠϜΞ΢τ = λΠϜΞ΢τ_࠷௕ End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while
  100. Tokyo/2010-03-03/04 While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If νΣοΫ_ִؒ ͕ܦաͨ͠

    If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = λΠϜΞ΢τ_࠷୹ Else λΠϜΞ΢τ = λΠϜΞ΢τ_࠷௕ End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while For 1͔Βϓϩηε਺·Ͱ If ϓϩηε͕஗Ԇ͋Δ͍͸ఀࢭ͞Ε͍ͯͳ͚Ε͹ ͦͷίʔυΛ 1 tick ࣮ߦ͢Δ(16 ms)
  101. Tokyo/2010-03-03/04 While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If νΣοΫ_ִؒ ͕ܦաͨ͠

    If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = λΠϜΞ΢τ_࠷୹ Else λΠϜΞ΢τ = λΠϜΞ΢τ_࠷௕ End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while
  102. Tokyo/2010-03-03/04 While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If νΣοΫ_ִؒ ͕ܦաͨ͠

    If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = λΠϜΞ΢τ_࠷୹ Else λΠϜΞ΢τ = λΠϜΞ΢τ_࠷௕ End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while
  103. Tokyo/2010-03-03/04 While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If νΣοΫ_ִؒ ͕ܦաͨ͠

    If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = λΠϜΞ΢τ_࠷୹ Else λΠϜΞ΢τ = λΠϜΞ΢τ_࠷௕ End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while
  104. Tokyo/2010-03-03/04 While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If νΣοΫ_ִؒ ͕ܦաͨ͠

    If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = λΠϜΞ΢τ_࠷୹ Else λΠϜΞ΢τ = λΠϜΞ΢τ_࠷௕ End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while SET DATABASE PARAMETER 4D Server Scheduler 4D Remote Scheduler 4D Local Mode Scheduler
  105. Tokyo/2010-03-03/04 εέδϡʔϥʔ While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If νΣοΫ_ִؒ

    ͕ܦաͨ͠ If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = λΠϜΞ΢τ_࠷୹ Else λΠϜΞ΢τ = λΠϜΞ΢τ_࠷௕ End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while
  106. Tokyo/2010-03-03/04 εέδϡʔϥʔ: 4DΛ࠷ߴʹ While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If

    5 ticks ͕ܦաͨ͠ If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = 0 tick Else λΠϜΞ΢τ = 1 ticks End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while
  107. Tokyo/2010-03-03/04 εέδϡʔϥʔ: 4DΛඪ४ʹ While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If

    0 ticks ͕ܦաͨ͠ If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = 0 tick Else λΠϜΞ΢τ = 8 ticks End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while
  108. Tokyo/2010-03-03/04 While 4D ࣮ߦத // γεςϜΠϕϯτΛॲཧ Repeat If 0 ticks

    ͕ܦաͨ͠ If 4D͸ϏδʔͰ͋Δ λΠϜΞ΢τ = 1 tick Else λΠϜΞ΢τ = 16 ticks End if // ͜͜ͰγεςϜʹ੍ޚΛฦ͢ Get Πϕϯτ͋Δ͍͸ λΠϜΞ΢τ ·Ͱ଴ػ If Πϕϯτ͸4Dϓϩηεʹؔ܎ Pass ΠϕϯτΛϓϩηεʹ఻ୡ End if End if Until Πϕϯτ͕ͳ͍ // ͦΕͧΕͷ4Dϓϩηεʹ࣌ؒΛ༩͑Δ For 4D ϓϩηεͦΕͧΕʹ͖ͭ Give ࠷௿ 1 tick ΞΫςΟϒϓϩηεΛ࣮ߦ End while εέδϡʔϥʔ: 4DΛ࠷௿ʹ
  109. Tokyo/2010-03-03/04 εέδϡʔϥʔ • SET DATABASE PARAMETERʢείʔ ϓ;஋ʣ ‣ είʔ ϓ:

    - 4D Server εέδϡʔϥʔ - 4D Remote εέδϡʔϥʔ - 4D Local Mode εέδϡʔϥʔ νϡʔχϯά
  110. Tokyo/2010-03-03/04 εέδϡʔϥʔ • SET DATABASE PARAMETERʢείʔ ϓ;஋ʣ ‣ είʔ ϓ:

    - 4D Server εέδϡʔϥʔ - 4D Remote εέδϡʔϥʔ - 4D Local Mode εέδϡʔϥʔ ‣ ஋: - 16ਐ਺Ͱදه: 0x00mmMMBB ‣ λΠϜΞ΢τ_࠷୹: 0 ͔Β 100 (0x00 ͔Β 0x64) ‣ λΠϜΞ΢τ_࠷௕: 0 ͔Β 100 (0x00 ͔Β 0x64) ‣ νΣοΫ_ִؒ: 0 ͔Β 20 (0x00 ͔Β 0x14) νϡʔχϯά
  111. Tokyo/2010-03-03/04 εέδϡʔϥʔ • SET DATABASE PARAMETERʢείʔ ϓ;஋ʣ ‣ είʔ ϓ:

    - 4D Server εέδϡʔϥʔ - 4D Remote εέδϡʔϥʔ - 4D Local Mode εέδϡʔϥʔ ‣ ஋: - 16ਐ਺Ͱදه: 0x00mmMMBB ‣ λΠϜΞ΢τ_࠷୹: 0 ͔Β 100 (0x00 ͔Β 0x64) ‣ λΠϜΞ΢τ_࠷௕: 0 ͔Β 100 (0x00 ͔Β 0x64) ‣ νΣοΫ_ִؒ: 0 ͔Β 20 (0x00 ͔Β 0x14) - σϑΥϧτ஋: -1ʢ࠷ߴ/ӈʣ-2ʢඪ४/தԝʣ-3ʢ࠷௿/ࠨʣ νϡʔχϯά
  112. Tokyo/2010-03-03/04 εέδϡʔϥʔ • SET DATABASE PARAMETERʢείʔ ϓ;஋ʣ ‣ είʔ ϓ:

    - 4D Server εέδϡʔϥʔ - 4D Remote εέδϡʔϥʔ - 4D Local Mode εέδϡʔϥʔ ‣ ஋: - 16ਐ਺Ͱදه: 0x00mmMMBB ‣ λΠϜΞ΢τ_࠷୹: 0 ͔Β 100 (0x00 ͔Β 0x64) ‣ λΠϜΞ΢τ_࠷௕: 0 ͔Β 100 (0x00 ͔Β 0x64) ‣ νΣοΫ_ִؒ: 0 ͔Β 20 (0x00 ͔Β 0x14) - σϑΥϧτ஋: -1ʢ࠷ߴ/ӈʣ-2ʢඪ४/தԝʣ-3ʢ࠷௿/ࠨʣ • ࣮ߦதͷΤϯδϯʹϩʔΧϧͷ஋,อଘ͞Εͳ͍ νϡʔχϯά
  113. 4D v11 SQL in Depth #2 • σʔλϕʔείϯςΩετʢτϦΨ, ...ʣ •

    εέδϡʔϥʔΛཧղ͢Δ • ελοΫʢϝϞϦʣ
  114. Tokyo/2010-03-03/04 ελοΫͱ͸ ? • ϝϞϦͷྖҬ • ίʔυͷ࣮ߦʹෆՄܽͳ «ΦϒδΣΫτ» Λऩ༰ •

    LIFOελοΫ: ‣ ฦΓ஋͕ऩ༰͞ΕΔ৔ॴ ‣ ύϥϝʔλʔ ‣ ϩʔΧϧม਺ ‣ ʢαϒϧʔνϯຖʣ
  115. Tokyo/2010-03-03/04 ελοΫͷαΠζ ϓϦΤϯϓςΟϒ εϨου: σϑΥϧταΠζ OS αΠζ Windows 1 MB

    Leopard 512 KB Snow Leopard 1 MB • DB4D αʔόʔ • SQL ωοτηογϣϯϚωʔδϟʔ • SQL ωοτίωΫγϣϯ • ༧උ SQL • ΫϥΠΞϯτάϩʔόϧϓϩηεͷϓϦΤϯϓςΟ ϒπΠϯ
  116. Tokyo/2010-03-03/04 ελοΫͷαΠζ ϓϦΤϯϓςΟϒ εϨου: σϑΥϧταΠζ OS αΠζ Windows 1 MB

    Leopard 512 KB Snow Leopard 1 MB • DB4D αʔόʔ • SQL ωοτηογϣϯϚωʔδϟʔ • SQL ωοτίωΫγϣϯ • ༧උ SQL • ΫϥΠΞϯτάϩʔόϧϓϩηεͷϓϦΤϯϓςΟ ϒπΠϯ GET/SET DATABASE PARAMETER(53;όΠτ਺)
  117. Tokyo/2010-03-03/04 ελοΫͷαΠζ • 4DίʔυΛ࣮ߦ͢ΔͨΊ • ىݯ: ‣ ϥϯήʔδ - New

    process / Execute on server - ࣗಈ ‣ Web/SOAP αʔόʔϓϩηε ‣ ϝχϡʔΞΠςϜͷϓϩύςΟ, ... ‣ On exit σʔλϕʔεϝιου ‣ ಺෦ίʔυ - ϥϯλΠϜΤΫεϓϩʔϥʔ, ϦϞʔτ؅ཧը໘, SQL ϓϩηε, ... ίΦϖϥςΟϒεϨου
  118. Tokyo/2010-03-03/04 ελοΫͷαΠζ • ࠷ऴతʹ഑෼͞ΕΔ஋͸ৗʹ૿ྔ͞Ε͍ͯΔ ‣ Windows - realSize = requested

    + 40 KB ‣ Mac - realSize = requested + (requested / 2) + 128 KB ίΦϖϥςΟϒεϨου
  119. Tokyo/2010-03-03/04 ελοΫͷαΠζ • ࠷ऴతʹ഑෼͞ΕΔ஋͸ৗʹ૿ྔ͞Ε͍ͯΔ ‣ Windows - realSize = requested

    + 40 KB ‣ Mac - realSize = requested + (requested / 2) + 128 KB • 512 KBཁٻͨ͠৔߹, ഑෼͞ΕΔͷ͸: ‣ Windows Ͱ͸ 552 KB ‣ Mac Ͱ͸ 896 KB ίΦϖϥςΟϒεϨου
  120. Tokyo/2010-03-03/04 ελοΫͷαΠζ ίΦϖϥςΟϒεϨου New process() ͱελοΫ New process() ͱελοΫ New

    process() ͱελοΫ New process() ͱελοΫ ཁٻ஋ (rs) ϓϥοτϑΥ ʔϜ ࠶ఆٛ ഑෼஋ 0 Windows 512 KB 552 KB 0 Mac 512 KB 896 KB > 0 ͓Αͼ < 16 KB Windows 16 KB 56 KB > 0 ͓Αͼ < 16 KB Mac 16 KB 152 KB > 16 KB Windows มߋͳ͠ rs + 40 KB > 16 KB Mac OS มߋͳ͠ rs + (rs/2) + 128 KB < 0 Windows Mac มߋͳ͠ rs + 40 KB rs + (rs/2) + 128 KB ઈରʹμϝ. ྫ͑͹, -128*1024 Λཁٻͨ͠৔߹, 4D͸4GBΛ഑෼͠Α͏ͱͯ͠͠· ͏ʢූ߸͖ͭ/ූ߸ͳ͠ͷม׵ʣ ઈରʹμϝ. ྫ͑͹, -128*1024 Λཁٻͨ͠৔߹, 4D͸4GBΛ഑෼͠Α͏ͱͯ͠͠· ͏ʢූ߸͖ͭ/ූ߸ͳ͠ͷม׵ʣ ઈରʹμϝ. ྫ͑͹, -128*1024 Λཁٻͨ͠৔߹, 4D͸4GBΛ഑෼͠Α͏ͱͯ͠͠· ͏ʢූ߸͖ͭ/ූ߸ͳ͠ͷม׵ʣ ઈରʹμϝ. ྫ͑͹, -128*1024 Λཁٻͨ͠৔߹, 4D͸4GBΛ഑෼͠Α͏ͱͯ͠͠· ͏ʢූ߸͖ͭ/ූ߸ͳ͠ͷม׵ʣ
  121. Tokyo/2010-03-03/04 ελοΫͷαΠζ ίΦϖϥςΟϒεϨου New process() ͱελοΫ New process() ͱελοΫ New

    process() ͱελοΫ New process() ͱελοΫ ཁٻ஋ (rs) ϓϥοτϑΥ ʔϜ ࠶ఆٛ ഑෼஋ 0 Windows 512 KB 552 KB 0 Mac 512 KB 896 KB > 0 ͓Αͼ < 16 KB Windows 16 KB 56 KB > 0 ͓Αͼ < 16 KB Mac 16 KB 152 KB > 16 KB Windows มߋͳ͠ rs + 40 KB > 16 KB Mac OS มߋͳ͠ rs + (rs/2) + 128 KB < 0 Windows Mac มߋͳ͠ rs + 40 KB rs + (rs/2) + 128 KB ઈରʹμϝ. ྫ͑͹, -128*1024 Λཁٻͨ͠৔߹, 4D͸4GBΛ഑෼͠Α͏ͱͯ͠͠· ͏ʢූ߸͖ͭ/ූ߸ͳ͠ͷม׵ʣ ઈରʹμϝ. ྫ͑͹, -128*1024 Λཁٻͨ͠৔߹, 4D͸4GBΛ഑෼͠Α͏ͱͯ͠͠· ͏ʢූ߸͖ͭ/ූ߸ͳ͠ͷม׵ʣ ઈରʹμϝ. ྫ͑͹, -128*1024 Λཁٻͨ͠৔߹, 4D͸4GBΛ഑෼͠Α͏ͱͯ͠͠· ͏ʢූ߸͖ͭ/ූ߸ͳ͠ͷม׵ʣ ઈରʹμϝ. ྫ͑͹, -128*1024 Λཁٻͨ͠৔߹, 4D͸4GBΛ഑෼͠Α͏ͱͯ͠͠· ͏ʢූ߸͖ͭ/ූ߸ͳ͠ͷม׵ʣ Execute on serverʹ-1͸New processʹ0ͱಉ͡
  122. Tokyo/2010-03-03/04 ελοΫͷαΠζ • σϑΥϧτ஋: ‣ '4STK' Ϧιʔ ε ίΦϖϥςΟϒεϨου ID

    ໊শ ஋ 1 On event call 512 KB 2 On serial port call 512 KB 3 Exec on server, on client, ϝιου࣮ߦ, ϚΫϩ 512 KB 4 ϝχϡʔ৽ϓϩηε 512 KB 5 αʔόʔλεΫ 256 KB 6 چɾόοΫΞοϓ 512 KB 7 چɾ෮ݩ 512 KB 8 Web 256 KB 9 Server event loop, cache, runtime explorer 512 KB 10 ΞοϓϧΠϕϯτ 512 KB
  123. Tokyo/2010-03-03/04 ελοΫͷαΠζ • σϑΥϧτ஋: ‣ '4STK' Ϧιʔ ε ίΦϖϥςΟϒεϨου ID

    ໊শ ஋ 1 On event call 512 KB 2 On serial port call 512 KB 3 Exec on server, on client, ϝιου࣮ߦ, ϚΫϩ 512 KB 4 ϝχϡʔ৽ϓϩηε 512 KB 5 αʔόʔλεΫ 256 KB 6 چɾόοΫΞοϓ 512 KB 7 چɾ෮ݩ 512 KB 8 Web 256 KB 9 Server event loop, cache, runtime explorer 512 KB 10 ΞοϓϧΠϕϯτ 512 KB ΫϥΠΞϯτάϩʔόϧϓϩηε ͷαʔόʔίΦϖϥςΟϒπΠϯ
  124. Tokyo/2010-03-03/04 ελοΫͷαΠζ • σϑΥϧτ஋: ‣ '4STK' Ϧιʔ ε ίΦϖϥςΟϒεϨου ID

    ໊শ ஋ 1 On event call 512 KB 2 On serial port call 512 KB 3 Exec on server, on client, ϝιου࣮ߦ, ϚΫϩ 512 KB 4 ϝχϡʔ৽ϓϩηε 512 KB 5 αʔόʔλεΫ 256 KB 6 چɾόοΫΞοϓ 512 KB 7 چɾ෮ݩ 512 KB 8 Web 256 KB 9 Server event loop, cache, runtime explorer 512 KB 10 ΞοϓϧΠϕϯτ 512 KB ΫϥΠΞϯτάϩʔόϧϓϩηε ͷαʔόʔίΦϖϥςΟϒπΠϯ ࣮ࡍͷ஋ 552-896 KB 552-896 KB 552-896 KB 552-896 KB 296-512 KB 552-896 KB 552-896 KB 296-512 KB 552-896 KB 552-896 KB
  125. Tokyo/2010-03-03/04 4D Server Operating System Cooperatives Preemptives Core 1 Core

    2 Core 3 Core 4 Scheduler 100 ΫϥΠΞϯτ - 2 άϩʔόϧϓϩηε / ΫϥΠΞϯτ ɹ αʔόʔͷπΠϯεϨου͕઎༗͢ΔϝϞϦͷαΠζ͸?
  126. Tokyo/2010-03-03/04 4D Server Operating System Cooperatives Preemptives Core 1 Core

    2 Core 3 Core 4 Scheduler 100 ΫϥΠΞϯτ - 2 άϩʔόϧϓϩηε / ΫϥΠΞϯτ ɹ αʔόʔͷπΠϯεϨου͕઎༗͢ΔϝϞϦͷαΠζ͸? 258 MB (W) 300 MB (SL) 200 MB (L)
  127. Tokyo/2010-03-03/04 4D Server Operating System Cooperatives Preemptives Core 1 Core

    2 Core 3 Core 4 Scheduler 100 ΫϥΠΞϯτ - 2 άϩʔόϧϓϩηε / ΫϥΠΞϯτ «Begin SQL» Λ֤ϓϩηεͰ࣮ߦͨ͠৔߹ αʔόʔͷπΠϯεϨου͕઎༗͢ΔϝϞϦͷαΠζ͸?
  128. Tokyo/2010-03-03/04 4D Server Operating System Cooperatives Preemptives Core 1 Core

    2 Core 3 Core 4 Scheduler 100 ΫϥΠΞϯτ - 2 άϩʔόϧϓϩηε / ΫϥΠΞϯτ «Begin SQL» Λ֤ϓϩηεͰ࣮ߦͨ͠৔߹ αʔόʔͷπΠϯεϨου͕઎༗͢ΔϝϞϦͷαΠζ͸?
  129. Tokyo/2010-03-03/04 4D Server Operating System Cooperatives Preemptives Core 1 Core

    2 Core 3 Core 4 Scheduler 100 ΫϥΠΞϯτ - 2 άϩʔόϧϓϩηε / ΫϥΠΞϯτ «Begin SQL» Λ֤ϓϩηεͰ࣮ߦͨ͠৔߹ αʔόʔͷπΠϯεϨου͕઎༗͢ΔϝϞϦͷαΠζ͸? 458 MB (W) 500 MB (SL) 300 MB (L)
  130. 4D v11 SQL in Depth #2 • σʔλϕʔείϯςΩετʢτϦΨ, ...ʣ •

    εέδϡʔϥʔΛཧղ͢Δ • ελοΫʢϝϞϦʣ
  131. 4D v11 SQL in Depth #2 • σʔλϕʔείϯςΩετʢτϦΨ, ...ʣ •

    εέδϡʔϥʔΛཧղ͢Δ • ελοΫʢϝϞϦʣ • ύϥμΠϜγϑτ
  132. Tokyo/2010-03-03/04 ഇࢭ༧ఆ • 4D஀ੜ͔Β25೥͕ܦա ! • ͜ͷؒʹछʑͷίϯηϓτ͸ਐԽͨ͠ • OS͕มΘͬͨ, ͜Ε͔Β΋มΘΓଓ͚Δ

    ‣ 68k, PPC, x86, 64Bits ‣ OS9, OSX, Carbon, Cocoa • 4Dίʔυͷޓ׵ੑ͕ࣦΘΕͯ͸͍͚ͳ͍ • ͔͠͠, ͦ͏͸͍ͬͯ΋...
  133. Tokyo/2010-03-03/04 4D Draw • QuickDrawΛ࢖༻͍ͯ͠Δ • AlturaͰΤϛϡϨʔγϣϯ • ࠲ඪܥʹ੔਺Λ࢖༻, ϑΥϯτ൪߸,

    ໛༷ύλʔϯ, ... • ݱߦͷը૾ܗ͕ࣜ։͚ͳ͍, ಠࣗͷϑΥʔϚοτΛ࢖༻ • 4D DrawจॻΛ4Dͷ֎෦Ͱฤू͢Δज़͕ͳ͍
  134. Tokyo/2010-03-03/04 SVG • CoreGraphics & CoreText, GDI+Λ࢖༻ • ඪ४ςΩετܗࣜ (xml)

    • ߴ౓ͳΤϑΣΫτ: άϥσʔγϣϯ, ಁ໌౓, ϨΠϠʔ, ճస, มܗ, ૊ΈࠐΈ,... • 4DϐΫνϟૢ࡞ίϚϯυ͸͢΂ͯͦͷ··࢖༻Ͱ͖Δ • ϑΥʔϜΦϒδΣΫτͱͯ͠දࣔ΍ૢ࡞΋Ͱ͖Δ ‣ MiniDraw (v12) • ݄̍, SVGϫʔΩϯάάϧʔ ϓʹIEνʔϜ͕Ճೖ !
  135. Tokyo/2010-03-03/04 4D Open • 4D Open͸4D v11Ͱ΋ಈ࡞͢Δ ‣ ͨͩ͠ΠϯλϓϦλϞʔυͷΈ •

    ͞·͟·ͳํ๏Ͱஔ͖׵͑ΒΕΔ: ‣ HTTP - DOM Parse XML source( «http://site.com») ‣ WebαʔϏε ‣ SQLύεεϧʔ ‣ ෳ੡ͱಉظ (v12)
  136. Tokyo/2010-03-03/04 PICT • 4D͸WindowsͰ΋ը૾ΛPICTͰอଘ͍ͯͨ͠ • 4D v11͸PICT͕౉͞Εͨͱ͖͚ͩPICTΛ࢖༻͢Δ • Apple͸PICTϑΥʔϚοτΛഇࢭ͢Δ༧ఆ •

    4D͸AppleʹཔͬͯMacͰPICTΛղಡ͍ͯ͠Δ • 4D͸Altura·ͨ͸QuickTimeʹཔͬͯWindowsͰ PICTΛղಡ͍ͯ͠Δ • CONVERT PICTUREΛਪ঑ • BLOB TO PICTURE( «.4dblob»)
  137. Tokyo/2010-03-03/04 uickTime • QuickTime ͸͍·΍ಈըॲཧʹ஫ྗ͍ͯ͠Δٕज़ • 4D v11͸QuickTimeΛ΋͸΍ඞཁͱ͸͠ͳ͍ • 4D

    v12͸ImageIO͓Αͼ Windows Imaging Component (WIC) Λαϙʔτ • QuickTimeΛ࢖༻͢ΔίϚϯυ͸4D v12Ͱ͢΂ͯ઀಄ ࣙ‘QT’͕෇͖, ഇࢭ༧ఆʹ ‣ QT COMPRESS PICTURE ‣ QT LOAD COMPRESSED PICTURE FROM FILE ‣ QT COMPRESS PICTURE FILE ‣ CONVERT PICTURE, READ PICTURE FILE, WRITE PICTURE FILEͰ୅༻
  138. Tokyo/2010-03-03/04 Ϧιʔ ε • UnicodeඇରԠ, Ϧιʔ εͷ্ݶ͸2727ݸ·ͨ͸16MB • Apple͸αϙʔτΛதࢭ, WindowsΤσΟλແ͠

    • ςΩετ͸xliff, ϐΫνϟ͸ png͕ओྲྀ • ϑΥʔϜΤσΟλͱϥϯήʔδͰxliffͱϐΫνϟϑΝΠϧ Λαϙʔτ • 4D͸͍ͣΕϦιʔ εͷॻ͖ग़͕͠ෆՄೳʹ • ಡΈऔΓ͸౰໘Ͱ͖Δ͸͕ͣͩ, PICTϦιʔ ε͸ແཧ
  139. Tokyo/2010-03-03/04 • 4DͷWindowsҠ২ʹҰ໾ങٕͬͨज़ • ຖճͷ4DόʔδϣϯΞοϓͰগͣͭ͠Mac2WinґଘΛ ͳ͖ͯͨ͘͠ • ޓ׵ੑͷͨΊʹ͍·ͩଟ͘ґଘ͕࢒͞Ε͍ͯΔ: ‣ Ϧιʔ

    ε, PICT, ϓϥά Πϯ • Mac2WinΛ࢖༻͍ͯ͠Δϓϥά Πϯ͸, ґଘؔ܎Λ੾Δ, ͞΋ͳ͚Ε͹4Dʹݟ੾ΒΕΔӡ໋... • ͍·͸·ͩAsifont.mapΛ࢖༻
  140. Tokyo/2010-03-03/04 ੲͷϧοΫε • QuickDraw ͓Αͼ Altura ࢖༻ͷΧελϜίʔυ • 4D 2004

    Ͱഇࢭ༧ఆͷର৅ʹ • 4D v13ͰγεςϜΞϐΞϥϯεʹม׵͞ΕΔӡ໋ • 4D v13·ͰઌԆ͹͠ʹ͠ͳ͍Ͱ ! System 7 Windows 3.11 Mac OS 9 Windows 95
  141. Tokyo/2010-03-03/04 αϒςʔϒϧ • ಛघͳϦϨʔγϣϯʹม׵͞ΕΔ • αϒςʔϒϧίϚϯυ͸͢΂ͯ·ͩಈ࡞͢Δ ‣ ྫ֎ SEND RECORD,

    DUPLICATE RECORD • ͍·͙͢ഇࢭ͞ΕΔ༁Ͱ͸ͳ͍ • ςʔϒϧ΁ͷม׵͕׬ྃ͢Δ·Ͱͷ༛༧Λઃ͚͍ͯΔ
  142. Tokyo/2010-03-03/04 MODIFY SELECTION DISPLAY SELECTION ‣ ϦετϘοΫε·ͨ͸αϒϑΥʔϜΛਪ঑ • ཁ݅ʹ߹͏ͷͳΒ͹ϦετϘοΫεʢ഑ྻɾηϨΫγϣϯʣΛ࢖༻ !

    • ಛघͳඞཁ͕͋Γ, ϦετϘοΫε͕μϝͳΒ͹αϒϑΥʔϜΛ࢖༻ ! • ഇࢭ༧ఆͰ͸ͳ͍͚ΕͲ, 4DΞϓϦέʔγϣϯ͕Ϣʔβ ʔ͔Β௿͍ධՁΛड͚ͯ͠·͏ཧ༝ͷͻͱͭ