MySQLにおける「回表(テーブル参照)」の動作原理と最適化戦略

技術的定義と内部構造 InnoDBストレージエンジンでは、クラスタードインデックス(主キー索引)がテーブルの実データそのものを格納します。これに対しセカンダリインデックス(非主キー索引)には、索引対象の値と当該行の主キーのみが保存されます。 このアーキテクチャにより、セカンダリインデックスを経由して検索を実行した際、検索条件を満たす主キー値は取得できま ...

8月12日 01:18 投稿

データベースのバッチ挿入は本当にこれだけの工夫が必要なのか?

最近のプロジェクトで様々なinsertBatchのコードを書いてきましたが、いつも「バッチ挿入はループ挿入よりずっと効率的だ」と言われます。そこで今回は、本当にそうなのかを検証してみましょう。 テスト環境: SpringBoot 2.5 Mysql 8 JDK 8 Docker まず、複数データの挿入には以下の選択肢があります: foreachループによる挿入 SQLを結合して一度に実行 バッチ処理機 ...

7月7日 16:00 投稿