今日はなにの日。

気になったこと勉強になったことのメモ。

データベース

今日は、MySQL 8.0.32で追加された「explain_format」を触ってみたの日。

目次 目次 とある日 アップデート内容 explain_format見比べ TRADITIONAL JSON TREE ANALYZE DEFAULT エラー おまけ 〆 とある日 MySQL 8.0.32が1/17にGAされました。 リリースノートを見てて、気になった「explain_format」について調べてた記録です。 MySQ…

今日は、2022年で知ったMySQLの7つのことについての日。

初めに この記事はMySQL Advent Calendar 2022の19日目の記事です。 本記事では、今年一年を通してMySQLに触れててへぇーってなった7つのことについてまとめてます。 目次 初めに 目次 2022年で知ったMySQLの7つのこと 特定のデータベースにあるテーブル一覧…

今日は、MySQLのST_Transformにまつわる用語を理解してみたの日。

目次 目次 はじめに 今回調べていくのは MySQLのST_Transform関数 理解する用語 測地系 日本測地系と世界測地系 地理座標系 JGD2000/2011(測地成果) 平面直角座標系 SRID WGS84 SRID:4269 NAD83 TOWGS84 改めて理解 〆 参考記事 はじめに このエントリは、RD…

今日は、Performance InsightsでAurora for MySQLを調査するための記録の日。

目次 目次 とある日 Performance Insightsとは 基本情報 分析の見方 各分析内容 分析流れ スレッドの状態 creating sort index sending data 〆 参考情報 とある日 Performance InsightsでAurora for MySQLを調査するのにあったって、調べた内容を記録したも…

今日は、MySQLにEvent Scheduler なるものがあるらしいので使ってみたの日。

目次 目次 とある日 EVENTとは 使ってみる event_scheduler 設定確認 Event設定 動作確認 後始末 〆 参考記事 とある日 実践ハイパフォーマンスMySQL 第3版読んでてEvent Schedulerなるものがあるらしいので試してみた。 EVENTとは MySQL イベントは、スケジ…

今日は、ソースコードドキュメント見ながらMySQLのソースコードを読んでみたの日。

目次 目次 とある日 はじめに 調べてみた 検証環境作る 該当ソースコードを見る ソースコードドキュメントでも見てみる make_join_query_block() master_query_expression() is_outer_reference() 色々と試してみる パターン1 結果 パターン2 結果 パターン3…

今日は、MySQL 8.0.31がリリースされたので触ってみたの日。

目次 目次 とある日 アップデート内容 引用符なしの識別子として「full」が非推奨 SQL 標準 INTERSECTおよび EXCEPTテーブル演算子のサポート 概要 INTERSECT EXCEPT 優先度 ALLとDISTINCT 〆 参考記事 とある日 2022 年 10 月 11 日にMySQL 8.0.31がリリー…

今日は、MySQL Shell にある「アップグレード チェッカー」とやらを試してみるの日。

目次 目次 とある日 アップグレードチェッカユーティリティとは 検証環境 MySQL Shellインストール アップグレードチェッカユーティリティを実行する MySQL 8.0での考慮事項 mysql スキーマ内で競合する名前を持つユーザー テーブル 古いスタイルのデータ型 …

今日は、Docker Composeを使ってMySQL8.0のレプリケーションを構成してみるの日。

目次 目次 とある日 レプリケーションとは メリット やってみる 環境 環境準備 バイナリロギングを有効にする 一意なserver_id を構成する ソースサーバ レプリカサーバ レプリケーション用ユーザーを作成する ソースサーバロックする レプリカを構成する レ…

今日は、MySQLでは列の順序は重要ではなさそうの日。

目次 目次 とある日 検証 大きなテーブルを作成する 非常に幅の広いテーブルを作成する さまざまな列へのアクセス まとめ 〆 とある日 PostgreSQLの列の順序は重要です-CYBERTECという記事を見ました。 MySQLだとどうなるのか気になったので試してみた記事で…

今日は、MySQL 8.0 にて JOIN_FIXED_ORDERを使って JOIN する順番を指定してチューニング検証してみたの日。

目次 目次 とある日 前提 JOIN_FIXED_ORDERってなに? STRAIGHT_JOINとの違い やってみる テーブル作成 概要 テーブル構成 使ったSQL 初期状態 JOIN_FIXED_ORDER指定してみる 試行錯誤 テーブル行数多い順 テーブル行数少ない順 おまけ まとめ 〆 参考記事 …

今日は、気になってのでMySQLのメタデータロック(MDL)を調べてみたの日。

目次 目次 とある日 メタデータロック(MDL)とは? メタデータとは 普通のロックとの違い メタデータロックしてみる トランザクション開始 metadata_locksテーブル確認 別トランザクションからDDL実行 lock_wait_timeout修正 再度別トランザクションからDDL実…

今日は、MySQL InnoDB Cluster の座学メモの日。

目次 目次 とある日 MySQL InnoDB Cluster とは? 関連用語まとめ MySQL Shell AdminAPI MySQL Group Replication MySQL Router bootstrapping create MySQL Router users MySQL Clone 〆 参考記事 とある日 KubernetesのMySQLオペレーターは、Kubernetesク…

今日は、Percona XtraBackupのMySQLバージョン違いの挙動が気になったの日。

目次 目次 とある日 検証 概要 結論 XtraBackup 8.0.28-20 XtraBackup 8.0.27-20 xtrabackup version 8.0.28-20 インストール手順 MySQL 8.0.29 MySQL 8.0.28 MySQL 8.0.27 xtrabackup version 8.0.27-19 インストール手順 MySQL 8.0.29 MySQL 8.0.28 MySQL …

今日は、俺的MySQLチートシートの日。

目次 目次 とある日 インストール編 インストール バージョン指定インストール リリースシリーズ指定インストール 運用編 showコマンド プラグイン確認 データベース一覧 テーブル一覧 テーブルスキーマ確認 権限確認 プロセス確認 ユーザ 作成 ユーザ一覧確…

今日は、MySQL 8.0.29で一部制限が解放されたALGORITHM=INSTANTの日。

目次 目次 とある日 ALGORITHM=INSTANTとは? 8.0.29の変更について DROP COLUMNALにもALGORITHM=INSTANTが追加 ALGORITHM=INSTANTの制限が一部解禁 検証 DROP COLUMNALにもALGORITHM=INSTANTが追加 8.0.28 8.0.29 ALGORITHM=INSTANTの制限が一部解禁 8.0.28…

今日は、DBSに向けたRDSまとめ日。

目次 目次 とある日 IAM データベース認証 概要 認証トークン 制限 手順 対応バージョン 監査ログ SQL Server 手順 MySQL&MariaDB 手順 Oracle メンテナンスウィンドウ マルチ AZ 配置のメンテナンス モニタリング パフォーマンスガイドライン Performance …

今日は、DBSに向けたAurora まとめの日。

目次 目次 とある日 コンポーネント Aurora エンドポイント タイプ クラスターエンドポイント リーダーエンドポイント カスタムエンドポイント インスタンスエンドポイント レプリカ優先度 クラスターキャッシュ機能 グローバルデータベース 利点 制限 クロ…

今日は、DBSに向けた「Aurora DB クラスターのバックトラック」の日。

目次 目次 とある日 Aurora DB クラスターのバックトラック 概要 ユースケース バックトラックウィンドウ ターゲットバックトラックウィンドウ 実際のバックトラックウィンドウ ターゲットバックトラックウィンドウと実際のバックトラックウィンドウが分かれ…

今日は、MySQLでオブジェクト名にハイフンはエラーになるの日。

目次 目次 とある日 スキーマオブジェクト名の注意点 スキーマオブジェクト名とは? 注意点:許可されない識別子 解決策 ハイフンがなぜエラーなるのか 引用符で囲まれていない識別子で許可される文字 引用符で囲まれた識別子で許可される文字 なぜ許可され…

今日は、MySQLのプロンプトがカスタマイズできるらしいの日。

目次 目次 とある日 mysql プロンプトとは? プロンプトカスタマイズ トランザクション(\T) デフォルトデータベース(\d) 完全なアカウント名(\U) 俺的おすすめカスタマイズ 〆 とある日 先日MySQL リリースノートでわいわい言う勉強会 8.0.28に参加してき…

今日は、MySQL 8.0.28でもとに戻った「解決されたブール式の型」についての日。

目次 目次 とある日 MySQL 8.0.28変更内容について 型について INT/BIGINT 符号あり/なし バージョン検証 --column-type-infoについて MySQL8.0.27 MySQL8.0.26 MySQL8.0.28 おまけ 〆 とある日 昨日MySQL リリースノートでわいわい言う勉強会 8.0.28に参加…

今日は、MySQLに式と関数の速度を測定できるものがあったの日。

目次 目次 とある日 BENCHMARK ストアドファンクションで検証 〆 とある日 MySQLのベンチマークについて調べてたら、BENCHMARKという式や関数の速度を計測できるものを見つけたので試してみた話です。 BENCHMARK 特定の MySQL 式または関数の速度を測定する…

今日は、学生でデータベースを勉強したい人向けの日。

目次 目次 とある日 学生の限界 学生できるデータベースの学習方法 書籍を読む 資格を受験 コミュニティーやセミナーへの参加 コンテストへの参加 やっておいたほうがいいこと 幅広いITの知識 検証環境構築 いろんなデータベースを触る&知る おまけ:就職に…

今日は、MySQLのクエリプロファイリングについて調べてみたの日。

目次 目次 とある日 クエリをプロファイリングするとは? パフォーマンススキーマを使用したクエリープロファイリング プロファイリング手順 履歴イベントの収集 MySQL :: MySQL 8.0 リファレンスマニュアル :: 27.12.2.1 setup_actors テーブル ステートメ…

今日は、DockerでOracle 21cの学習環境を作るの日。

目次 目次 とある日 構築手順 前提条件 躓いたところ OracleDBダウンロードZipは解凍しない 他のコンテナンは停止 Sqlplusログイン 接続手順 Enterprise Manager Database Express 〆 とある日 Oracleの環境がほしい。 なので、Dockerで作れないかと探したら…

今日は、MySQLでストアドファンクションであったエラーについての日。

目次 目次 とある日 ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled 発生時のSQL エラー内容 回避方法 グローバル log_bin_trust_function_creators システム…

今日は、MongoDB入門してRDBとの違いを感じたの日。

目次 目次 とある日 チュートリアル 構築 接続 データ挿入 RDBとの操作的違い 用語 コネクションとテーブルの振る舞い オペレーションの作成 CUIの振る舞い 〆 参考記事 とある日 MongoDBを触ってみたいと思ったので試しに検証しました際に、RDBと比べて違っ…

今日は、mysqldumpslowというものがあるのを最近知りましたの日。

目次 目次 とある日 mysqldumpslow — スロークエリーログファイルの要約 検証 tmp/slow.log mysqldumpslow実行 オプション -a -s -t 〆 とある日 MySQLのslow queryを分析するのにmysqldumpslowがあるのをしったので調べました。 mysqldumpslow — スロークエ…

今日は、RDBの良くない設計にするとどうなるのかの日。

初めに この記事は、MySQL Advent Calendar 2021のカレンダー | Advent Calendar 2021 - Qiitaのエントリーです。 ↓2021年12月12日は、@tmtms さんの記事です。 ruby-mysql - tmtms のメモ 目次 初めに 目次 とある日 良い設計とは? 悪い設計の定義 今回使…