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

mysql:3147

From: 競馬王 <競馬王 <jra_hunter@xxxxxxxxxx>>
Date: Sun, 04 Feb 2001 16:05:36 +0900
Subject: [mysql 03147] Re: ソート結果の順位を一つのカラムに取り込みたいのですが

遠藤さん、どうもです。

早速有り難うございます。
できました。こうするんですね。

とりあえず、Table2 ではなくQuery1 の方に直接代入してしまいましたが。(^_^;
(結局同じテーブルに戻さないといけないので。)

ただ、気になったのは実行スピードです。
固定長テキストをINSERTするのは0.7秒で完了するのに、
この処理で5〜6秒かかります。

簡単に説明いたしますと、この処理で騎手、調教師のリーディング順位
を出したいわけで、着順回数(1,2,3,4着以下・各3桁の合計12桁)でソートしています。
本年総合順位
前年総合順位
本年地域別順位
前年地域別順位
本年平地順位
前年平地順位
本年障害順位
前年障害順位
と、合計8回繰り返します。
平均で1項目あたり平均5秒としますと40秒かかります。
ちょっと!ですね。

何とか効率よくする方法はないでしょうか。
気になるのは
> 12.5.8 UPDATE クエリの速度
> Also, another way to get fast updates is to delay updates and then do many updates in a row later.
> 一文で多くの更新を行えば、もしテーブルがロックされていれば、一文で一個づつ更新するよりも、とても速くなります。 
です。
INSERT では INSERT INTO test_table VALUES ('a'),('b'),('c')....
とすることができるとつい先日教えていただいて、0.7秒まで縮めることができましたので
同じようなことができればかなり速くなるのでは?と思いまして....
ですが、構文が解りませんでした。
単純に、UPDATE test_table SET ('a=a'),('a=b'),('a=c').....
では怒られてしまいました。

それと、集計して気づいたのですが、この方法だと
前年平地成績        前年平地順位
(着順回数です)
     :                    :
     :                    :
000000000001              500
000000000001              501
000000000001              502
000000000001              503
000000000001              504
000000000000              505
000000000000              506
000000000000              507
となってしまいますが、通常の順位付けと同じく
500
500
500
500
500
501
501
としたいわけです。
以前の私の質問はこのことを全く考慮されていないものでした。
失礼をお詫びして、再度お知恵を拝借したいと思います。


-- 
競馬王 <jra_hunter@xxxxxxxxxx>


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

      3137 2001-02-03 16:59 [競馬王 <jra_hunter@x] ソート結果の順位を一つのカラムに取り込みたいのですが
      3140 2001-02-03 18:15 ┗[とみたまさひろ <tomm]                                       
      3144 2001-02-04 05:30  ┗[競馬王 <jra_hunter@x]                                     
      3145 2001-02-04 06:07   ┗[<endo_t@xxxxxxxxxx> ]                                   
->    3147 2001-02-04 16:05    ┗[競馬王 <jra_hunter@x]                                 
      3148 2001-02-04 21:50     ┣[競馬王 <jra_hunter@x]                               
      3149 2001-02-04 23:46     ┗[<endo_t@xxxxxxxxxx> ]                               
      3150 2001-02-05 00:22      ┗[競馬王 <jra_hunter@x]                             
      3151 2001-02-05 00:31       ┗[<endo_t@xxxxxxxxxx> ]                           
      3153 2001-02-05 01:10        ┗[競馬王 <jra_hunter@x]