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

元Oracle 使いだけど、 MySQL のSQL 実行計画について ちゃんと調べた

元Oracle 使いだけど、 MySQL のSQL 実行計画について ちゃんと調べた

MANABIYA ( https://manabiya.tech ) で話した資料です。

katsuhisa_

March 23, 2018
Tweet

More Decks by katsuhisa_

Other Decks in Technology

Transcript

  1. Oracle 実行計画の表示例  (プレゼン用に一部カットしています) -------------------------------------------------------------------------------------------- | Id | Operation | Name

    | Rows | Cost (%CPU) | -------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 2 (0) | | 1 | TABLE ACCESS FULL | DUAL | 1 | 2 (0) | -------------------------------------------------------------------------------------------- #MANABIYA
  2. Oracle 実行計画の処理 INDEX UNIQUE SCAN INDEX RANGE SCAN INDEX FULL

    SCAN INDEX FAST FULL SCAN TABLE ACCESS BY INDEX ROWID TABLE ACCESS FULL #MANABIYA
  3. MySQL 実行計画の表示例  (プレゼン用に一部カットしています) +----------+-------+-----------------------+----------+---------+----------+ | table | type | possible_keys

    | key | rows | Extra | +----------+-------+-----------------------+----------+---------+----------+ | shops | ALL | NULL | NULL | 60 | NULL | +----------+-------+-----------------------+----------+---------+----------+ #MANABIYA
  4. eq_ref const ref range index ALL MySQL 実行計画の処理 INDEX UNIQUE

    SCAN に相当 INDEX RANGE SCAN に相当 FULL TABLE SCAN に相当 #MANABIYA
  5. eq_ref const ref range index ALL MySQL 実行計画の処理 INDEX UNIQUE

    SCAN に相当 INDEX RANGE SCAN に相当 ← じゃあ、これなに? FULL TABLE SCAN に相当 #MANABIYA
  6. eq_ref const ref range index ALL MySQL 実行計画の処理 INDEX UNIQUE

    SCAN に相当 INDEX RANGE SCAN に相当 FULL TABLE SCAN に相当 INDEX FULL SCAN に相当 #MANABIYA
  7. MySQL の実行計画ちゃんと知らなかった頃のワイ   「index うまく使えてるっぽいなー。」 +----------+---------+-----------------------+----------+---------+----------+ | table | type |

    possible_keys | key | rows | Extra | +----------+---------+-----------------------+----------+---------+----------+ | shops | index | NULL | NULL | 60 | NULL | +----------+---------+-----------------------+----------+---------+----------+
  8. MySQL の実行計画ちゃんと知らなかった頃のワイ   「index うまく使えてるっぽいなー。」 +----------+---------+-----------------------+----------+---------+----------+ | table | type |

    possible_keys | key | rows | Extra | +----------+---------+-----------------------+----------+---------+----------+ | shops | index | NULL | NULL | 60 | NULL | +----------+---------+-----------------------+----------+---------+----------+
  9. Copyright (C) 2018 Studist Corporation. All Rights Reserved 24 #devsumiE

    自己紹介 スタディストでは、 いっしょに闘ってくれるエンジニアを常に募集中