MySQL 8.0.22 がリリースされたので、恒例の 「MySQL リリースノートでわいわい言う勉強会」通称 Myリノベ を開催しました。最近のMySQLは年4回(1月、4月、7月、10月)にリリースされるサイクルになっているので、特に緊急の問題が発生しない限りは、これが2020年最後のリリースとなります。mysql.connpass.com Myリノベが「恒例」と言っても、今回が3回目なんですけどね。いつも、参加のみなさんに盛り上げていただいています。ありがとうございます。まだまだより良い進行方法を模索している段階で、今回は進行役としてなるべく喋らない(もちろんイチ参加者としては喋る!)こ…
概要
8.0.22のリリースノートを見るとprepared statementの挙動が変わっているらしい。
特にこれが気になったので、試してみる
For a prepared statement of the form SELECT expr1, expr2, ... FROM table ORDER BY ?, passing an integer value N for the parameter no longer causes ordering of the results by the Nth expression in the select list; the results are no longer ordered, as is expected with ORDER BY constant.
どうやら8.0.22からはSELECT expr1, expr2, ... FROM table ORDER BY ? といったクエリをprepareして、placeholderにselect listの番号を表す数値Nを指定する場合にsortが効かなくなるらしい
実験
8.0.21, …
[さらに読む]MySQL 8.0.22 がリリースされました。
MySQL 8.0 の薄い本 を発行している身としては新機能や改良を試して 8.0.22 対応版の内容に組み入れていかねば…と思ったのですが、
MySQL 8.0.22 本体には目立った新機能が見当たらない! (速度に影響する退行バグが修正されている、などの話は聞きますが…)
ということで、無理やり地味な改良を取り上げてみました。
Derived Condition Pushdown Optimization とは
サブクエリがある SQL 文の実行時に サブクエリの外側にあるWHERE句などの条件の一部を サブクエリに(あらかじめ)適用することで処理の効率化を図る
という、オプティマイザの最適化処理のことです。
なるほど。よくわかりません(説明下手で申し訳ない)。
試してみる
…[さらに読む]TL;DR
-
yt-healthckeck に
History list length(trx_rseg_history_len) の監視を追加した-
--history-list-enable=1すると有効になる(そのうちこっちをデフォルトにする…)- MySQL 5.6とそれ以降のみ対応、もう5.5は知らない…
- デフォルトで10万がワーニング、50万をクリティカルにしてたんだけどあっさり食いちぎられた
- その時の確認方法を主に
-
History list lengthとは(これは SHOW ENGINE INNODB STATUS
の出力に載ってる用語、 information_schema.innodb_metrics 的には
trx_rseg_history_len …
はじめに
今回はずっと触りたかったMySQL Shellのダンプをやりつつ、 最後は前回作ったMDS相手にインポートしてみようかと思います。
MDSにインポートするためにはociクライアントの設定や、オブジェクトストレージが必要なので、それらを途中で設定していきます。
準備
1. 手元のdbdeployerで作成したMySQL8.0.21の環境に、公式が出しているテスト用データベースたちを適当に入れていきます。
自分はgit …
[さらに読む]