sqlのチューニングで実行計画をとりたいときは
EXPLAINをよく使うと思いますが、テーブルの使用パーティションを確認する際は
EXPLAIN PARTITIONS {クエリ}
で使用しているpartitions情報を取得できます。
explain select * from user_hoge_log where start >= UNIX_TIMESTAMP('2019-09-01');
id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | SIMPLE | user_hoge_log | p0,p1,p2,p3 | ALL | NULL | NULL | NULL | NULL | 2611 | 33.33 | Using |
※パーティション化されていないテーブルでEXPLAIN PARTITIONS
を使用すると、
エラーは発生しませんが、partitionsカラムの値は常に NULL となります。
ちなみに試してみたところ、
MySQL5.6ではpartitions
指定は明示的に必要でしたが、
MySQL5.7ではpartitions
指定はなしでもpartitions項目は表示されたのでデフォルトでオンのようです。