MySQLのVALUES関数の(今のところ)唯一の使い道
TL;DR PostgreSQLの VALUES は引数の表リテラル(行リテラルや列リテラルを含む)をテーブルリファレンスにして返してくれる関数だけれど、MySQLの VALUES は残念ながらそんなことはない。 MySQLのINSERTにおけるVALUESはただのキーワードでVALUES関数ではない。...
View Articleindex_condition_pushdownの条件
5.6.1で既に実装されていてDefaultでONになっているので,5.6や5.7では普段殆ど気にしてませんでしたが、質問頂いたのでindex_condition_pushdownの条件を再確認。 DefaultはONになっています。あえて、OFFにするメリットはあまり無いかと思います。 Index Condition Pushdown(ICP):...
View ArticleMySQL 8.0.4におけるデフォルト認証形式の変更
Incompatible Change: The caching_sha2_password and sha256_password authentication plugins provide more secure password encryption than the mysql_native_password plugin, and caching_sha2_password...
View ArticleMySQL 8.0.4でエラーログのフォーマットが微妙に変わった
TL;DR log_error_verbosity のデフォルトが3(Error + Warning + Note) から 2(Error + Warning)に変更されたよ MySQL 8.0.4からエラーログのフィールドに error_id が追加されたよ “Note”, “Warning”, “Error”の3つだった severity に “System”が追加されたよ “System”...
View ArticleJSON_TABLE Function in MySQL8.0.4
MySQL8.0.4 RCがリリースされたので、その中でJSON関連の関数JSON_TABLEがリリースされていたので、合わせて挙動を確認してみました。 MySQLにはJSON関数が30弱ありますが、便利なJSON関数が増えてきているので、これまで以上にNOSQL関連データを扱う処理の選択肢として活用出来そうです。 MySQL 8.0.4 Release Candidateの変更点...
View ArticleMySQL 8.0.4でMySQLの正規表現演算がだいぶマシになる
TL;DR MySQL 5.7とそれ以前にも一応 REGEXP演算子 (またはRLIKE演算子)はあって、多少正規表現っぽいことはできるんだけど正規表現としては全然物足りなかった。 少なくとも \s で空白文字にマッチできないとかちょっとPerlの正規表現で甘やかされた身にとってはつらい しかも遅いんだこれが あとマルチバイト非対応(マルチバイトに対して使おうと思ったことないけど) MySQL...
View ArticleOSC2018-Osaka 参画
オープンソースカンファレンス2018大阪(OSC2018-Osaka)に参加してきました。 日本MySQLユーザ会(MyNA)としてブース出展とセミナー1枠開催を。 夜行バスで早朝になんばに到着し、時間に余裕があったのであちらこちら歩き回ってすっかり大阪を堪能しきった気分で私のOSCは始まりました。 www.ospn.jp...
View ArticleMySQL 8.0.4の正規表現で更に遊ぶ(REGEXP_SUBSTR, REGEXP_INSTR)
See also, 日々の覚書: MySQL 8.0.4でMySQLの正規表現演算がだいぶマシになる MySQL 8.0.4で新たに追加された関数として、 REGEXP_SUBSTR と REGEXP_INSTR がある。 REGEXP_REPLACE もあるけどこれはいいや( mroonga_snippet 的なことができるかもなのでまた別で遊ぶかも)...
View ArticleLOAD DATA INFILEステートメントの中でカラムの順番とかをゴニョる
TL;DR LOAD DATA INFILE ステートメントで、CSVなりTSVなりのフィールドの並び順とテーブルのカラムの並び順が一緒じゃない時にほげる方法とか 読み取った値を加工してからテーブルに突っ込む方法とか Twitter からダウンロードできる tweets.csv はこんなフォーマットをしている。...
View ArticleRe: Configuring sql.DB for Better Performance
Configuring sql.DB for Better Performance という記事を知りました。 コネクションプールの大きさを制御する3つの設定を丁寧に解説されたとても良い記事です。 しかし、この記事で推奨されている設定については同意することができません。私が推奨する設定とその理由を解説していきたいと思います。 Limit ConnMaxLifetime instead of...
View ArticleMySQL Enterprise Auditの機能追加
MySQL5.7.21からMySQL Enterprise Auditの機能が拡張されています。 主な変更点は、以下の4つになります。 1) 監査ログの圧縮 2) 監査ログの暗号化 3) JSONフォーマットの追加 4) audit_log_read関数による監査ログの確認...
View Article