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

mysql:9927

From: ML account <ML account <ml@xxxxxxxxxx>>
Date: Thu, 29 Jul 2004 14:53:39 +0900
Subject: [mysql 09927] Re: 芋づる式検索について

 こんにちは。

SAITO Masaru <daisaito@xxxxxxxxxx>さんの
<20040729125941.898C.DAISAITO@xxxxxxxxxx>
"[mysql 09925] Re: 芋づる式検索について"


> この場合、レコードを作ったときに固定でIDを持たせて、
> 変化するごとに1づつ増えるSEQを作っておけば、クエリーと順序検索は
> 楽になると思いますが。
> # 1回のSQLで済むし順番もSEQでorderすれば取り出すのも楽。

 ふむふむ。「過程の順序通りにレコードが挿入される」の前提や制約が満たさ
れれるならば、斉藤さん方式の方がが良いですね。

 [mysql 09913]のクエリ(後の方の実行)は、循環の対策が不十分でした。

insert into tmp08 (str,next,steps) 
  select concat(tmp08.str,test08.before) as newstr
    ,test08.after as newnext,steps+1 as newsteps
  from tmp08,test08
  where tmp08.next=test08.before and tmp08.steps=@_maxsteps 
    and (test08.after is NULL or instr(tmp08.str,test08.after)=0);

 あまり良くないですね(笑)。


> # もちろん、スキーマを今から変えるのが無理という事であればダメですけど。

 可能であるならば、より良い設計に変える方が良いですね。ですが、「出来て
しまっているから変えられない」なありがちな理由以外に、データが既に蓄積さ
れてしまっている場合も、斉藤さん方式への移行は難しいかもしれません。


    松枝知直    <tomom@xxxxxxxxxx>
            http://www.argus.ne.jp/~tomom/



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

      9906 2004-07-28 13:26 [yoshiyama akihiko <y] 芋づる式検索について                    
      9913 2004-07-28 17:13 ┗[ML account <ml@xxxxx]                                       
      9923 2004-07-29 11:00  ┗[yoshiyama akihiko <y]                                     
      9925 2004-07-29 13:09   ┗[SAITO Masaru <daisai]                                   
->    9927 2004-07-29 14:53    ┗[ML account <ml@xxxxx]