技術トピックス - ForeFrontier

技術トピックス
2015/03
1. Chrome40
• 以前のバージョンで使っていた「SPDY」を止めて、
HTTP/2へ移行するようです。
→2016初旬を目途
• これにより、SPDYのサポート終了予定
• いよいよ、HTTP/2が本格化する感じですね!
→2015/2/17に正式承認されましたしね
→当初のHTTP2.0では無いので注意
【参考】 http://blog.chromium.org/2015/02/hellohttp2-goodbye-spdy-http-is_9.html
2. Google検索結果
• 現在、検索結果に「ライブチャット」できる機能を
実験中らしい
• もできたらいろんなことができそう!例えば
(1) 飲食店の予約電話が不要?
(2) 求人面接をライブチャット?
• まあ、実験中なのでわからないですが・・・
【参照】
http://news.livedoor.com/article/detail/9822915/
3-1. MYSQLのソート
• DBのソート処理はやったことが無い人はいな
いと思います。
• そこで皆さんには簡単な問題を出したいと思
います。
• 次ページにあるデータ情報を提示します
• その検索結果を考えましょう
3-2. データ(info)
name
hobby
address
job
marks
Oobi
Eat
Tokyo
SE
50
Ishikana
Money
Country
SE
50
Hondu
Gambling
Out Tokyo
SE
100
Nakayami
Sleep
Nagoya
SE
2
Cat
Walk
Wood
Animal
2
Dog
Battle
Wood
Animal
2
3-3. SQL
• では以下の2つのSQLでは順序はいっしょで
しょうか?
• 例えば2番目に来る内容は?
【1】
SELECT * FROM INFO ORDER BY MARKS DESC;
【2】
SELECT name FROM INFO ORDER BY MARKS DESC;
3-4. 正解
【回答】
• Filesortの実行計画を見ないとわからない
3-4. 正解
【回答】
• Filesortの実行計画を見ないとわからない
• まず注目してほしいのがソートキーが被って
います。
• 次にSELECT句で使用しているカラムが異なり
ます。
3-4. 正解
【回答】
• Filesortの実行計画を見ないとわからない
• まず注目してほしいのがソートキーが被って
います。
• 次にSELECT句で使用しているカラムが異なり
ます。
• MYSQLではオプティマイザが「SORT_MODE」
を決定しています
3-5. Optimizer Trace
• MYSQL5.6の機能に「Optimizer Trace」があります。
• これを使用すると「SORT_MODE」で何を使用しているかが
分かります。
• 例えば「rowid」を使用されると順序が変わる可能性あり。
• 原文では「 If a filesort is done, EXPLAIN output includes
Using filesort in the Extra column. Also, optimizer trace
output includes a filesort_summary block. 」
• 「 Extra column 」カラム次第でいいのか?
→正しく読めているかな・・・不安・・・。
【参考】
http://docs.oracle.com/cd/E17952_01/refman-5.6-en/order-by-optimization.html
3-5. Optimizer Trace(補足)
• 使い方についてはまずは有効に
「 set session optimizer_trace='enabled=on,one_line=off'; 」
• バッファサイズ拡張
「 set session optimizer_trace_max_mem_size=102400; 」
• 対象SQL発行
• 最後に保存されたテーブルを検索
「select * from information_schema.optimizer_trace\G;」
• 上記内容は以下のサイトで説明されています
【参照】
http://mugenup-tech.hatenadiary.com/entry/2014/06/09/173036