今日はなにの日。

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

今日は、MySQLのリファレンス「第 15 章 InnoDB ストレージエンジン」を読むの日(その1)。

目次

とある日

MySQLのリファレンスを読む 1章 - ASMのきもち

上記の記事見て、やっぱり詳しくなるためにはドキュメント読むかということで、前から気になってた部分のInnoDBについて見た内容を記録してきます。

(ちなみに、一章から読もうとしてMySQL 8.0の機能の多さに諦めました)

ちなみに、以下のインタビューも勉強になりました。

yoku0825さんがMySQLスペシャリストになるまでにやってきた勉強法を、私たちにすべて教えてください! - Findy Engineer Lab - ファインディエンジニアラボ

今日読んだもの

読んでみたメモ

MySQL :: MySQL 8.0 リファレンスマニュアル :: 15.1 InnoDB 入門

機能 Support
*B ツリーインデックス* はい
*MVCC* はい
*T ツリーインデックス* いいえ
*インデックスキャッシュ* はい
*クラスタデータベースのサポート* いいえ
*クラスタ化されたインデックス* はい
*ストレージの制限* 64TB
*データキャッシュ* はい
*データディクショナリ向け更新統計* はい
*トランザクション* はい
*ハッシュインデックス* いいえ (InnoDB は、アダプティブハッシュインデックス機能に対して、内部的にハッシュインデックスを利用します。)
*バックアップ/ポイントインタイムリカバリ* (ストレージエンジン内ではなくサーバー内で実装されています。) はい
*レプリケーションのサポート* (ストレージエンジン内ではなくサーバー内で実装されています。) はい
*ロック粒度*
*全文検索インデックス* はい (FULLTEXT インデックスに対する InnoDB サポートは、MySQL 5.6 以降で使用できます。)
*圧縮データ* はい
*地理空間インデックスのサポート* はい (InnoDB での地理空間インデックス付けのサポートは、MySQL 5.7 以降で使用できます。)
*地理空間データ型のサポート* はい
*外部キーのサポート* はい
*暗号化データ* はい (暗号化機能を介してサーバーに実装されます。MySQL 5.7 以降では、保存データのテーブルスペース暗号化がサポートされます。)

MySQL :: MySQL 8.0 リファレンスマニュアル :: 1.3 MySQL 8.0 の新機能

InnoDB拡張機能と新機能

InnoDB拡張機能および新機能の詳細は、次を参照してください

別ベージに寄り道。

  • 現在の最大自動インクリメントカウンタ値がサーバーの再起動後も保持されます。
  • ROLLBACK 操作の直後にサーバーを再起動しても、ロールバックされたトランザクションに割り当てられた自動増分値は再利用されなくなりました。
  • デッドロック検出を無効にするには、新しい動的変数 innodb_deadlock_detect を使用できます。
  • デッドロック発生時のトランザクションロールバックinnodb_lock_wait_timeout 設定に依存する方が効率的な場合があります。
  • 新しい INFORMATION_SCHEMA.INNODB_CACHED_INDEXES テーブルには、インデックスごとに InnoDB バッファプールにキャッシュされたインデックスページの数がレポートされます。
  • InnoDB ストレージエンジンはアトミック DDL をサポートするようになり、操作中にサーバーが停止した場合でも、DDL 操作が完全にコミットまたはロールバックされるようになりました。

先は長いな&難しそう。