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

mysql:8275

From: "HIGUCHI Koichi" <"HIGUCHI Koichi" <ko-ichi@xxxxxxxxxx>>
Date: Wed, 15 Oct 2003 22:40:58 +0900
Subject: [mysql 08275] Re: ランキングをつける方法?

こんにちは、樋口と申します。
お世話になっております。

横やり失礼します。

> 「LIMIT 節は、 SELECT 構文で返される行数を指定するのに 使用されます。」と
> いうことで、何らかの条件で検索し並び替えたものを、LIMITの範囲の行数で返し
> てもらうものと理解してます。ランキングとどう結び付けていいものやら想像で
> きません、何か定石があるんでしょうか?。

私の場合ランキングというと、「上位30商品を表示」というようなイメージがあり
ました。
こういった場合だと、「LIMIT 30」をSELECT文の最後につければ実現できるのでは
?ということではないかと思います。

> 現状は、ランキング用のテーブルを用意し、ランキングする項目で並び替えした
> 後、ゴリゴリとキーとランクをランキング用のテーブルに書き込み、リレーショ
> ンしておりますが、量が多くなると当然ながら遅くなるので別の方法がないもの
> かと思っています。

毎回順位を計算していたのでは大変だからということで、ランキング用のテーブル
に順位を保存しておられるのですよね?
この順位の計算&保存が遅いということであれば、ちょっと、わからないです。す
みません。

ただ、いったん順位をテーブルに保存した後、その順位テーブルとJOINしながらの
表示が遅いということであれば、おそらく適切なインデックスが無いのではという
気がいたします。

以上、横やり失礼しました。


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

      8272 2003-10-15 20:47 [TORU NOMURA <toru200] ランキングをつける方法?                
      8273 2003-10-15 21:51 ┗[UNO Shintaro <uno@xx]                                       
      8274 2003-10-15 22:16  ┗[TORU NOMURA <toru200]                                     
->    8275 2003-10-15 22:40   ┣["HIGUCHI Koichi" <ko]                                   
      8276 2003-10-15 23:09   ┃┗[TORU NOMURA <toru200]                                 
      8277 2003-10-15 23:20   ┃ ┣[mohri <mohri@xxxxxxx]                               
      8278 2003-10-15 23:31   ┃ ┗[UNO Shintaro <uno@xx]                               
      8279 2003-10-15 23:34   ┃  ┗[UNO Shintaro <uno@xx]                             
      8281 2003-10-16 03:32   ┗[seiji takegata <take]                                   
      8282 2003-10-16 19:56    ┗[TORU NOMURA <toru200]                                 
      8292 2003-10-18 04:26     ┗[seiji takegata <take]