[前][次][番号順一覧][スレッド一覧]

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]