Warning: Trying to access array offset on value of type bool in /home/r1029599/public_html/engineer-log.net/wp-content/themes/simplicity2/lib/customizer.php on line 5404

MySQL一覧

B TreeとB+ Treeの違い

概要 インデックスに対してMongoDBはB Treeを採用し、MySQLのInnoDBはB+ Treeを採用しています。 どうして採用しているアルゴリズムが違うのだろう?と思って調べてみました。 主な違い B+ TreeはほとんどB Treeと同じですが、以下の点が異なります。 ・リーフノードとリーフノードを結ぶポインタがある ・データはリーフノードのみに保持する 具体例 言葉だけだと分かりにくいので、Visualizeするツールを使って具体例を表示します。 B Tree B-Tree Visualization

binlogが有効でない非暗号化RDS MySQLから暗号化Auroraに無停止で移行する方法

セクションナイン の 吉田真吾(@yoshidashingo)です。 DB無停止移行は人類の夢 利用する特徴 手順 移行元データベース(MySQL) 中間データベース(Aurora Read Replica) 移行先データベース(暗号化済みAurora) DMS ソース/ターゲットデータベースに接続する タスクを作成して実行する 継続レ…

MySQL with InnoDB のインデックスの基礎知識とありがちな間違い

こんにちは、サービス開発部の荒引 (@a_bicky) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありません。 そんなわけで、今回はレコードを検索するために必要なインデックスの基礎知識と、よく見かける不適切なインデックスについて解説します。クックパッドでは Rails のデータベースとして主に MySQL 5.6、MySQL のストレージエンジンとして主に InnoDB を使っているので、MySQL 5.6 の InnoDB について解説しま…

MySQL 8.0.1でutf8mb4_ja_0900_as_csが導入された

Sushi = Beer ?! An introduction of UTF8 support in MySQL 8.0 | MySQL Server Blog (ユーザーによる日本語訳: 寿司=ビール問題 : MySQL 8.0でのUTF8サポート入門 (MySQL Server Blogより) | Yakst)で言及されていた日本語用の照合順序 utf8mb4_ja_0900_as_cs 。 MySQL 8.0.1 で実装されていたので試してみた。

MariaDB 10.2.4の –flashback を触ってみる

ドキュメントはこちら。 Flashback - MariaDB Knowledge Base "Common use case" をとっても雑に説明すると、 - `--flashback` をつけたmysqldが吐いたバイナリーログに対して - `mysqlbinlog --flashback` でデコードすると、フラッシュバックっぽいことができる という感じ。

MySQL 8.0.1の新顔、GROUPING集約関数

TL;DR WITH ROLLUPの結果行をHAVING条件に書けるようすることができる。 それ以外の時には使わない。 MySQL :: MySQL 8.0 Reference Manual :: 13.20 Miscellaneous Functions 使い方。 そもそも WITH ROLLUP の使い方を知らないと楽しくもなんともないので WITH ROLLUP の説明から。 まずは WITH ROLLUP なしバージョン(SUM関数を噛ませてるのはあとで WITH ROLLUP した時のため)

– PR –
– PR –