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

mysql:10711

From: mattun <mattun <mattun@xxxxxxxxxx>>
Date: Tue, 21 Dec 2004 15:10:49 +0900
Subject: [mysql 10711] Re: SELECTの速度が遅い

松丸です。

>   SELECT u.id, u.name
>   FROM message as m LEFT JOIN user as u on
>       m.target = u.id
>   WHERE u.sid = 53
>   AND m.isread = 'f'
>
> では、だめでしょうか?

試しましたが、同じく時間がかかりましたです。

> ちなみに、一番最後のgroup by b.id order by b.idを取り除いても
> 結果出力は遅いのでしょうか?

同じく遅くなりました。

あれから、「実践ハイパフォーマンスMYSQL」という本を買いまして、インデックスとはなんぞやみたいのを、
勉強し直しました。また、このクエリが何をしたいのかというのをひたすら考え(このプログラム自体は、以前の
担当の方が作ったもので、僕は途中でまるなげで引き継いだ感じです。)あぁだこうだぁやりまくりました。

結果、

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

の中で、messagesテーブルに含まれているカラム、targetとisreadの複合インデックスを作成したところ、selectのスピードが、
0.1秒まで縮みました。


いやぁ、もう感無量でした。DBはすごい性能をひめてますね。自己レスになりましたが、みなさまの助言をいただくことでかなり
役立たせていただきました。ありがとうござます。

また、ご質問させていただきます。

ありがとうございました。

松丸 頒泰
mattun@xxxxxxxxxx
http://www.meganebu.com


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

     10706 2004-12-20 18:27 [mattun <mattun@xxxxx] Re: SELECTの速度が遅い                  
     10707 2004-12-20 19:36 ┣[al-kamil <al-kamil@x]                                       
     10709 2004-12-21 10:44 ┗[Hideki SUNADA <hidek]                                       
->   10711 2004-12-21 15:10  ┗[mattun <mattun@xxxxx]