MySQLのリファレンスを読む 1章の続き その⑧
まいえすきゅーえりたい ぽすぐれない おらくるってる(狂ってる)tomoです。
まずはこのブログ、拝見頂いてありがとうございます!
レスおっっそいかもですが、頂いたコメントに対してお返事したい所存ですので、是非気軽に「ここまちがってるでー」と指摘いただけると幸いです。
そして前回更新から、少し間があきました><
夏休み第一弾をしてきました!
お昼の進捗です𐩢𐩺 pic.twitter.com/zsMuKM7iQG
— tomo🫠 (@tomomo1015) 2023年7月26日
某避暑地に行ったのですが、全然涼しくなかった…今年の日本の暑さは本当異常ですね。
みなさま、ご自愛くださいませ。
で。でででで。
明後日から一週間、別の所に旅に行ってきますので、またまたしばしお休みになります。
ということで、今日も読んでいこー!!
今日もこれの続き。
tomomo1015.hatenablog.com
今日読んだもの
1.3 MySQL 8.0 の新機能
ここのEXPLAIN ANALYZE ステートメントから。
- これはEXPLAIN ANALYZE による情報の取得をちゃんと読んだほうがいい
mysql> EXPLAIN ANALYZE SELECT * FROM t1 JOIN t2 ON (t1.c1 = t2.c2)\G *************************** 1. row *************************** EXPLAIN: -> Inner hash join (t2.c2 = t1.c1) (cost=4.70 rows=6) (actual time=0.032..0.035 rows=6 loops=1) -> Table scan on t2 (cost=0.06 rows=6) (actual time=0.003..0.005 rows=6 loops=1) -> Hash -> Table scan on t1 (cost=0.85 rows=6) (actual time=0.018..0.022 rows=6 loops=1)
- クエリーキャストは、暗黙的型変換のことであっているかな?
- ↑に書いたEXPLAIN ANALYZE使うと、CASTしているところはcastと出る。わかりやすい。
mysql> EXPLAIN FORMAT=TREE SELECT * from d JOIN n ON d.dt = n.i\G *************************** 1. row *************************** EXPLAIN: -> Inner hash join (cast(d.dt as double) = cast(n.i as double)) (cost=0.70 rows=1) -> Table scan on n (cost=0.35 rows=1) -> Hash -> Table scan on d (cost=0.35 rows=1)
- TIMESTAMP および DATETIME のタイムゾーンサポートの箇所は「タイムゾーンオフセットを受け入れます」と書かれていて、ナンノコッチャーと思ったのですが例がちゃんと書いてあって。'2023-08-01 13:00:30+09:00' とかの「+09:00」のことなんですね。
- JSON_SCHEMA_VALID() について
- リファレンスの例がまたわかりやすいのだけど、エラーになった時「SHOW WARNINGS」で見れば理由をちゃんと教えてくれる。
- これ他でもあるよね?多分使えば出てくる所で使っていないかも。これも普段利用するようにしよう
- ON DUPLICATE KEY UPDATE について
短いですが、今日はここまで!
明日は「SQL 標準の明示的なテーブル句およびテーブル値コンストラクタ」から読みますよー!