MySQL

複合インデックスの効果と注意点

概要 インデックスには複合インデックスというものがあります。 これは単一のカラムではなく、複数のカラムを組み合わせてインデックスを貼るもので、組み合わせで検索されるカラムに貼ると効率的です。 複合インデックスを使うにあたって、いくつか注意点が…

GROUP_CONCATでグループ化された行のカラムの値を連結して出力する

概要 グループ化された行のカラムの内容も表示したい時などに使うGROUP_CONCAT()について記載します 実行環境:MySQL5.6 SQL CREATE TABLE classroom ( classroom_id INT PRIMARY KEY, classroom_name VARCHAR(50) NOT NULL, capacity INT NOT NULL ); CREAT…

MySQLのSelect句で日付の差分を取得する方法と分単位の差分について

使用例 例えば最初にレコードが作られた日付と、何らかの処理が完了した日付の差分を取得するときなどに使うかと思います select created, finished, TIMESTAMPDIFF(MINUTE, created, finished) AS '分差分' from table order by id desc MySQLのDIFF関数は…

主キーには自動でインデックスが付与される

Primary keyを作成時、インデックスは自動で付与される 主キーを作成時、大抵のDBは自動でインデックスが主キーに付与される そのため、主キーにインデックスがあることを意識してインデックスを付与することや、複合主キー主キーを作成時には、複合インデッ…