mysql:10705
From: al-kamil <al-kamil <al-kamil@xxxxxxxxxx>>
Date: Mon, 20 Dec 2004 10:22:32 +0900
Subject: [mysql 10705] Re: SELECTの速度が遅い
MySQLでは、どうか確認はしたことはありませんが DB2, Oracleでは、Where句のみで結合条件を書いた場合に 抽出速度が低下することがあるようです。 (オプティマイザーの問題で、起こります この場合、DB自体の設定を細かく行わなければなりません。) Where句のみでの結合を行わずに、Form句でJOINを利用してみては いかがでしょうか? DB2, Oracleでは、この方法で速度を上げることができました。 On Mon, 20 Dec 2004 05:56:25 +0900 mattun <mattun@xxxxxxxxxx> wrote: > みなさま、はじめまして、Mysql初心者の松丸と申します。 > > 現在仕事上で、phpとmysqlの開発をしています。サーバーの移転作業があり、mysql-3.23.57から、mysql-4.0.21に移行し > ました。 > > DBの中で、message、user、二つのテーブルに対して以下ような感じSELECTしています。 > > select b.id, b.name from messages as a, users as b where a.target=b.id > and b.sid=53 and a.isread='f' group by b.id order by b.id > > SQLの知識が乏しいためphpMyAdminを使用しているのですが、上記のクエリを行うと、平均0.5ぐらいで結果が返ってきます。 > > これを、 > > $db = mysql_connect("localhost", "ユーザー名","パスワード"); > mysql_select_db("DB名",$db); > $query_alart = "select b.id, b.name from messages as a, users as b > where a.target=b.id and b.sid=53 and a.isread='f' group by b.id order > by b.id"; > > と書いたphpファイルで実行させると、だいたい5秒ぐらいはかかるんですね。 > > これは、php側の処理の問題なのか、それともmysqlのインデックスなり、メモリの割り当てなりが原因なのでしょうか? > > 以上よろしくお願いいたします。 > > > 松丸頒泰 > mattun@xxxxxxxxxx > http://www.meganebu.com/ > > > -- al-kamil <al-kamil@xxxxxxxxxx>
10702 2004-12-20 05:56 [mattun <mattun@xxxxx] SELECTの速度が遅い 10703 2004-12-20 09:23 ┣[Hideki SUNADA <hidek] 10704 2004-12-20 10:03 ┣[SUGAWARA Hajime <sug] -> 10705 2004-12-20 10:22 ┗[al-kamil <al-kamil@x]