Db2でSQLのアクセスプランを確認する

Db2でアクセスプランを確認する必要があったため、実施した手順を記録する。

まず、1回のみ実施する前処理として、以下のコマンドを実行する。

$ db2 connect to DB名

$ db2 -tvf ~/sqllib//misc/EXPLAIN.DDL

$ db2 connect reset

 そして、以下のURLの資料に参考して、以下の手順でアクセスプランの取得が可能である。

アクセスプラン(実行計画)の読み方入門

$ db2 connect to DB名

$ db2 "set current explain mode explain"

$ db2 "何かのSQL"

あるいは

$ db2 -tvf sqlファイル

db2 "set current explain mode no"

$ db2exfmt -1 -d DB名 -o 出力ファイル名

試しにSAMPLE DBで実行してみた。

$ db2 connect to SAMPLE

$ db2 "set current explain mode explain"

$ db2 "SELECT t1.* FROM employee as t1 INNER JOIN department as t2 ON t1.workdept=t2.deptno WHERE t2.deptname like 'BRANCH%'"

db2 "set current explain mode no"

$ db2exfmt -1 -d SAMPLE -o output.txt

作成されたoutput.txtから以下のアクセスプランが見られる。

Access Plan:Access Plan:

-----------

Total Cost: 143.581

Query Degree: 1

              Rows

              RETURN

             (   1)

              Cost

                I/O

                |

               100

              ^HSJOIN

             (   2)

             143.581

                21

          /-----+------\

      1000              100

      TBSCAN        TBSCAN

     (   3)               (   4)

     81.9241          61.6304

        12                9

        |                   |

      1000             1000

 TABLE: USER   TABLE: USER

    EMPLOYEE    DEPARTMENT

       Q2                Q1

 TBSCANの文字ではテーブルスキャンが発生している意味である。

ちなみに、IDを使用するように以下のSQLを実行したアクセスプランも確認してみた。

SQL

 SELECT * FROM employee WHERE empno='000010'

 アクセスプラン:

Access Plan:

-----------

Total Cost: 13.6198

Query Degree: 1

            Rows

            RETURN

           (   1)

            Cost

              I/O

              |

              1

            FETCH

            (   2)

           13.6198

               2

          /---+----\

        1          1000

      IXSCAN   TABLE: USER

       (   3)      EMPLOYEE

     6.81278        Q1

        1        |

      1000

     INDEX: USER

     PK_EMPLOYEE

       Q1

 INDEXを使用していることが確認できる。

2020年12月10日放送日本人のお名前

読めそうで読めない一放送された超難読名字特集:

1.いちじく さま

2.五六ふのぼり さま

3.さっか(また さかん) さま

4.薬袋みない さま

5.小鳥遊たかなし さま

6.四月一日わたぬき さま

7.貴家さすが さま

8.めんじょう さま

9.四十物あいもの さま

やはり書き留めないと忘れてしまう。

Amazon Fire HD 10でChromeの同期を「有効にする」が押せない問題の対応

Amazon Fire HD 10を購入した。早速ネットにある手順に従い、Google Playをインストールした。そして、Chromeをインストールして、起動したら、同期を有効にするかを聞かれ、「有効にする」ボタンが押せない。いろいろ検索して、以下のページに答えが書かていた。

chromeの同期で有効にするが押せない - Google Chrome Community

Google開発者サービス」を更新する必要があるみたい。単にGoogle Play Storeで更新しても、できなかったため、自分はChromeで「google開発者サービス」を検索し、検索結果からGoogle Playの「Google開発者サービス」のページへ遷移し、「更新」ボタンが表示されているため、そのまま更新した。

MPlayerで動画の映像を回転して再生

スマホで取った動画が90度回転されていて、PCではうまく再生できなかった。調べたら、mplayerには回転するオプションが付いていた。

mplayer -vf rotate=オプション ファイル

mplayer(1): movie player - Linux man page によると、 オプションは以下になる(英語)

Rotates the image by 90 degrees and optionally flips it. For values between 4-7 rotation is only done if the movie geometry is portrait and not landscape.

0    Rotate by 90 degrees clockwise and flip (default).

1    Rotate by 90 degrees clockwise.

2    Rotate by 90 degrees counterclockwise.

3    Rotate by 90 degrees counterclockwise and flip.

自分の場合では1で90度時計回り回転することができた。

2020年8月5日放送東大王難問オセロ

魚の名前にまつわる難読漢字

寄魚 シイラ ドジョウ カマス コノシロ ハタハタ
嘉魚 イワナ 羽魚 カジキ 間八 カンパチ アジ ハモ 泉海魚 ウナギ
華臍魚 アンコウ 公魚 ワカサギ     皮剥 カワハギ 烏頬魚 クロダイ
黒漫魚 マグロ 鮎並 アイナメ     伊富 イトウ 文鰩魚 トビウオ
竹麦魚 ホウボウ 麦魚 メダカ 目張 メバル 山女 ヤマメ 鶏魚 イサキ 鼠頭魚 キス
松江魚 スズキ *1 石桂魚 サケ 鮊子 イカナゴ フナ イワシ 犁頭魚 シュモクザメ

   *1 中国では上海の近郊にある松江のスズキが有名であるため

⑥は両チームとも開かなかった。

2020年7月29日放送東大王難問オセロ

植物の名前にまつわる難読漢字

懸鉤子 キイチゴ 罌粟 ケシ 羅漢柏 アスナロ 春紫菀 ハルジオン 狗尾草 エノコログサ
篠懸 スズカケ 芍薬 シャクヤク ツタ アシ マサキ クスノキ
山丹 ヒメユリ 牡丹 ボタン     サカキ 橿 カシ
石蒜 ヒガンバナ 黄葉 モミジ     シイ ドクダミ
榠樝 カリン 天糸瓜 ヘチマ 南瓜 カボチャ エノキ アザミ コケ
献歳菊 フクジュソウ 草鳥頭 トリカブト 八仙花 アジサイ 忽布 ホップ 茱萸 グミ 土常山 アマチャ

⑥は両チームとも開かなかった。

マイケル・ジャクソンの専属日本人シェフの豆腐ハンバーグレシピ

1.パテ(2〜3人分)

  • 水切りした木綿豆腐 180g
  • 茹で大豆 150g
  • 玉ねぎ 50g
  • パン粉 30g
  • 大和いも 20g
  • 卵黄 1個
  • 大さじ1
  • 砂糖 大さじ0.5
  • 赤味噌 大さじ1.5

2.ソース(2〜3人分)

  • マイタケ 50g
  • シメジ 50g
  • だし汁 100cc
  • 酒 大さじ1
  • しょう油 大さじ1
  • 水溶き片栗粉 大さじ1
  • 砂糖 大さじ0.5