Open2
SQLチューニング
SELECT * FROM テーブル名 WHERE 絞り込みカラム(1) = XXX ORDER BY 更新日(2) DESC LIMIT 10;
レコード量数千万、絞り込みマッチに10万レコード程
→ 更新日新しい順に10件ほしい
すでに以下indexが付与
CREATE INDEX インデックス名 ON テーブル名 USING btree( 絞り込み );
CREATE INDEX インデックス名 ON テーブル名 USING btree( 更新日 );
性能でない・・・複合インデックス使ってみるか・・・・
CREATE INDEX インデックス名 ON テーブル名 USING btree( 絞り込み, 更新日 DESC );
やった!!めちゃ早い!!
UNIONをちゃんと理解しよう
UNION: テーブルの足し算
- UNION: 和集合
- 重複行は削除される
-
ALL
をつけると重複行も残せる!(UNION ALL)
集合演算の注意点
- 演算対象となるレコードの列数は同じ
- 足し算の対象となるレコードの列のデータ型が一致している
- SELECT文はどんなものを指定しても良いが、ORDER BYは最後に1つだけ!