今日はなにの日。

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

MySQL

今日は、RECURSIVEで再帰の罠にかかったの日。

目次 目次 とある日 RECURSIVEとは WITH(共通テーブル式) RECURSIVE(再帰共通テーブル式) 実践 テーブル定義 再帰共通テーブル SQLエラー [3636] 発生 比較IDミス SQL修正 〆 参考記事 とある日 RECURSIVEを使ってみたかった。 ただそれだけの理由。 REC…

今日は、論理削除のフラグ列にはなんの型の日。

目次 目次 とある日 環境 検証内容 いざ検証 DATA テーブル構造 データ生成 NULLデータ生成 INDEX作成 INDEX検索 検索速度 否定検索 否定検索速度 検索結果 CHAR テーブル構造 データ生成 INDEX作成 INDEX検索 検索速度 FALSE検索 否定検索 FALSE検索速度 否…

今日は、range_optimizer_max_mem_sizeの値が低いと、全表スキャンが発生する可能性がありますの日。

目次 目次 とある日 記事概要 例え話 range_optimizer_max_mem_sizeとは 範囲オプティマイザ 単一部分インデックス 単一部分インデックス使用条件 単一部分インデックス例 検証 検証環境 下準備 検証テーブル作成 検証データ生成 データ確認 range_optimizer…

今日は、MySQLのサーバーシステム変数について調べたの日。

目次 目次 とある日 サーバーシステム変数 参照方法 サーバーシステム変数特選3選 range_optimizer_max_mem_size transaction_isolation version SHOWVARIABLESステートメント スコープ GLOBAL SESSION デフォルト値 検索 LIKE句検索(完全一致) LIKE句検索…

今日は、MySQL8.0をマイナーバージョンアップグレードで最新の日。

目次 目次 とある日 環境 アップグレード MySQLサーバーの停止 MySQLYumリポジトリの追加 公式ページのコマンド 実際に行ったコマンド MySQL Yumリポジトリ確認 デフォルトのMySQLモジュールを無効にする MySQLのインストール MySQLサーバーの起動 バージョ…

今日は、MySQL8.0.23で追加された非表示の列の日。

目次 目次 とある日 環境 非表示列とは 使用用途 列追加時の不具合回避 意図しないデータ流失を阻止 いざ実践 テーブル作成 テーブル構造確認 データ挿入 データ挿入後SELECT文 データ挿入後テーブル構造 実験 暗黙のINSERT 明示的 暗黙的 INVISIBLE列にINDE…

今日は、AUTO_INCREMENTに対してバルクインサートをしたときの日。

目次 目次 とある日 環境 Oracle VM VirtualBox DBeaver Tera Term ホスト PC ゲスト PC OS メモリ ストレージ MySQL 謎現象発動 テーブル作成 バルクインサート AUTO_INCREMENT値再確認 謎解決 innodb_autoinc_lock_mode = 2 解決までのプロセス 謎発覚 発…

今日は、MySQLのTRUNCATEとDELETEのコアな違いの日。

目次 目次 とある日 結論 環境 Oracle VM VirtualBox DBeaver Tera Term ホスト PC ゲスト PC OS メモリ ストレージ MySQL 検証 検証内容 検証テーブル作成 TRUNCATE DELETE 〆 とある日 とあるテーブル検証をしてて、TRUNCATEを実行したときに起こったお話…

今日は、2020年アドベントカレンダーその後の日。

目次 目次 とある日 今日は、DBで日付にはDATE型?VARCHAR型どっちの日。 ALTER TABLE 前 ibdファイルサイズ ALTER TABLE ALTER TABLE 後 ibdファイルサイズ 今日は、MySQL8.0 GISを使って距離と三角形の面積求めてみたの日。 2点間の距離ストアドプロシージ…

今日は、MySQL8.0 GISを使って距離と三角形の面積求めてみたの日。

初めに この記事はRDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2020のエントリーです。 目次 初めに 目次 とある日 環境 Oracle VM VirtualBox DBeaver ホスト PC ゲスト PC OS メモリ ストレージ MySQL 二点間の距離 公式 いざ求める! 問題 2点間の…

今日は、DBで日付にはDATE型?VARCHAR型どっちの日。

初めに この記事はMySQL Advent Calendar 2020の14日目の記事です。 アドベントカレンダー参加は、初めてなので至らないところもあるとは思いますが、お手柔らかにお願いします。 とても長い内容となってしまったので、結論だけご覧になりたい方は。 目次か…

今日は、MySQL Tunerを試してみたの日。

目次 目次 とある日 環境 ホストPC ゲストPC Oracle VM VirtualBox OS メモリ ストレージ MySQL いざMySQL Tuner MySQL Tunerとは 注意事項 インストール 実行 2ndトライ 3ndトライ 結果 出力結果(英語) 出力結果(日本語翻訳) 詳細 /var/log/mysql/mysql…

今日は、MySQL EXPLAINがデータベースを破壊する可能性がある場合の日。

目次 目次 とある日 環境 Oracle VM VirtualBox OS MySQL 実践 一般ログ確認 EXPLAIN DML LOG EXPLAIN FUNCTION LOG EXPLAIN DML TEST EXPLAIN概要 INSERT DELETE UPDATE 〆 とある日 Uncommon Sense MySQL – When EXPLAIN Can Trash Your Database とあるバ…

今日は、MAX関数2つでやらかしてた話の日。

目次 目次 とある日 テーブル定義 データ生成 問題のMAX関数 解決方法 おまけINDEX 〆 とある日 select max(message) , max(create_at) from historys where history_id = 5; このSQLの意図は、history_id が5のユーザのcreate_atが最大のmessageの内容がほ…

今日は、実験用環境MySQL8.0構築メモの日。

目次 目次 とある日 CentOS8構築 1. ストレージ容量 2. メモリ 3.ネットワーク 4. GUI操作 dnf update MySQL構築 MySQLインストール MySQLの初期設定 〆 とある日 趣味に使うDBがないのでVirtuallboxを使って構築する手順のメモを残す。 OS:CentOS8 DB:MySQL…

今日は、PythonでSQL 結果を綺麗に表示するパッケージ作り始めたの日。

目次 目次 とある日 GitHub そもそも表形式出力ないの? TPRINT 現在作成途中 MySQL 形式出力プログラム 1.CreateData(データ生成) 2.CreateColumnDict(カラムデータ切り出し) 3.GetColumnValue({カラム名:最大文字数}取得) 4.GetValueList(指定した key を…

今日は、docker-composeの苦労話の日。

目次 目次 とある日 テスト環境と本番環境の2つのMySQL構築 docker-composeで解決 docker-composeの手間 docker-compose.ymlのVersion違い 原因わかって自分馬鹿だなって思ったこと 〆 とある日 Oracleを使っていたが、Oracle clientがうまく行かなかったの…

今日は、MySQL8.0徹底入門に沿ってDockerインストールの日。

目次 目次 とある日 今回の目標 MySQL 8.0 徹底入門第 4 版 事前準備 使用する環境 CentOS7 設定内容 Docker 構築 Docker 概要 Docker インストール 1.必要なパッケージのインストール 2.Docker(安定版)のリポジトリを追加 3.Docker CE のインストール 4.Doc…

今日は、データベースを誤って削除してみたの日。

目次 目次 とある日 実行環境 下準備 削除されるデータベース作成 削除用テーブル作成 削除用テストデータ作成 データ削除 削除フェーズ 戻すフェーズ(?) 寄り道 バックアップ取得 バイナリログ取得 ログ確認 データベースを誤って削除する リストア作業 …

今日は、MySQLの何これ演算子の日。

とある日 Twitterみてて、MySQLに変わった演算子があるというツイートを見た。 どのツイートか忘れたのだが・・・。 ってことで、面白うそうなので調べてみた。 変わってる演算子 変わった演算子ってのが、<=>です。 MySQLのドキュメントに普通に載ってた。 …

今日は、ストアドプロシージャ実践編の日。

とある日 ストアドプロシージャのための準備 テーブル構成 Menus Members Orders テーブルデータ Menus Members Orders いざ実践! ストアドプロシージャ作成 ストアドプロシージャを呼び出す 〆 とある日 一本前に上げた。 updraft.hatenadiary.com ストア…

今日は、ストアドプロシージャについて知識編の日。

とある日 ストアドプロシージャとは 現段階で自分が知っているストアドプロシージャの知識 調べてみた 似て非なるものストアドファンクション ここで疑問 両者の非なる所 機能の非 用途の非 ストアドプロシージャ ストアドファンクション まとめ とある日 My…