MySQL 複合インデックスの動作原理と最適化戦略
検証環境の構築
まず、検証用のテーブルとデータを準備します。複合インデックス idx_name_age_job を staff_name, staff_age, job_role 列に設定します。
CREATE TABLE `staff_records` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`staff_name` varchar(24) NOT NULL DEFAULT '' COMMENT '氏名',
`staff_age` int(11) NOT NULL DEFAULT '0' COMMENT '年齢',
`job_ ...
6月24日 18:51 投稿
千万件規模データを処理するMySQLサーバの構築とチューニング
インフラリソースの選定基準
データ規模が千万件レベルに達すると、ストレージI/Oおよびメモリ割り当てが性能の主要なボトルネックとなります。計算処理を分散させるためのマルチコアCPU、InnoDBバッファプールを物理メモリ容量の60〜70%確保するための大容量RAM、および低レイテンシNVMe SSDの採用が基盤構築の前提条件となります。
構成パラメータの最適化
MySQLの動作 ...
6月7日 21:30 投稿
MySQLにおけるインデックス最適化の実践テクニック
部分文字列インデックスによるストレージ効率化
長めの文字列カラム(例:email)に対して、先頭数文字のみを対象にインデックスを構築することで、インデックスサイズを削減し、ページあたりのエントリ数を増加させることができます。
ALTER TABLE accounts ADD INDEX idx_login_prefix(login_id(8));
この例では、login_id の先頭8バイトのみがB+ツリーに格納され、メモ ...
6月4日 20:16 投稿