izum****@campu*****
izum****@campu*****
2003年 1月 29日 (水) 21:13:19 JST
お世話になっております。伊豆です。 速度向上に関係ありそうなスレッドには、素早く反応します。(^^; Masahiko Nagata <nagat****@ideas*****> wrote: >osCommerceで使用するMySQL側のデータベースに関してなのですが、デフォルトで >は48ほどのテーブルがありますが、これって最適化されているのでしょうか? > >と言いますのも、specialsテーブルの中のproducts_idにはインデックスが無いので >すが、これにインデックスを作成してあげると、ページの表示速度(?)が上がるこ >とに気が付きました。 > ># と言ってもページに表示されるParse Timeの事ですが。 ># 仮にトップページ呼び出しで1.000msとか表示されている場合に、0.600ms位まで上 > がります。 ># banners_historyテーブルのbanners_idへもインデックスを作成すると、更に上が ># ります。 早速試してみました。 確かに永田さんのおっしゃる通り描画速度が上がりました。 前に速度向上の余地を探したとき、インデックスも一通り見たのですが、 specialsは見落としていました。 ただ、うちの環境ではbanneers_historyに付けたインデックスの効果はあまりありませ んでした。 >まあParse Timeに表示される時間も、ローカル環境で接続した場合とINTERNET側から >接続した場合、その他様々な要因(サーバースペック・アクセス状況・回線スピード >等)によって変化しますので、あくまで参考にしかならないと思いますが。 でも、明らかにparsetimeは下がってますね。効果有とみていいんじゃじゃないでしょ うか。 >仮に、デフォルトで用意されているデータベースは、「あくまでもデフォルトであり、 >チューニングをする余地が多分にあるよ」って事であれば、これは色々と試す価値あ >りかなと思っています。 いちおう主キー以外のインデックスも張られているので、デフォルトというかテーブル の作りっぱなしではないような気がします。 >が、こう言ったチューニングをする上で、(osCommerceに限らず)こういう部分は気 >をつけた方が良いと言う事はあるのでしょうか? > ># _idとか名称が付いているフィールドは、なんだか効果がありそうな気が... 通常インデックスを付ける場合、気にしなくてはいけないのは、insertやupdateが多い テーブルに対しては慎重にならなくてはいけないと言うことです。 selectが早くなっても、全体では遅くなることが多いので。 osCommereceの場合、orders系のテーブルに対しては慎重にいかなくてはだめなような 気がします。 こんなことと、使用頻度の高さ(低さ)から言うと、残りのテーブルに対してのチュー ンナップの余地はあまり残っていなさそうな気がします。 以上、よろしくお願いします。 -- 伊豆 雅宏(Izu Masahiro MailTo:izum****@campu*****)