5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

MySQL 総合 Part14

820 :NAME IS NULL:2008/10/30(木) 18:12:22 ID:???
>>819
その構成だととりうる動作は以下の2つ

(1) d.mid='hoge'をmid_dateインデックスを使って抽出
→対応するcommentをdiary_id_idを使って抽出
→全部拾い出してd.idでソート

(2) commentのidがprimary keyなのでお尻からさかのぼって
対応するc.diary_id=d.idのレコードのmidがhogeなのを
ひろっていく

どっちが選ばれるかよくわからないが普通は(1)になるかなぁ。
インデックス使用を強制すれば(2)にはできるかもしれないけど
当たりのレコードがまばらだと5個そろえるのに相当なめないと
いけないかもしれないから実行時間で得になるかどうかは場合
による。

スピード重視ならデータ的には重複するけどcommentにもd.mid
に相当する値を格納して複合インデックスを作ればそこだけみて
抽出できるので速くなると思う。

329 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)