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

mysql:6220

From: "KAWAI,Takanori" <"KAWAI,Takanori" <GCD00051@xxxxxxxxxx>>
Date: Wed, 18 Sep 2002 22:02:20 +0900
Subject: [mysql 06220] Re: スレッド式掲示板のテーブル構造について

川合孝典です。

ちょっと思い出したので
----- Original Message -----
From: "Tomohiro 'Tomo-p' KATO" <tomop@xxxxxxxxxx>
To: <ml@xxxxxxxxxx>
Sent: Wednesday, September 18, 2002 9:33 PM
Subject: [mysql 06219] Re: スレッド式掲示板のテーブル構造について


>  こんばんは、加藤です。
>
> In message "[mysql 06218] Re: スレッド式掲示板のテーブル構造について",
> "KAWAI,Takanori" <GCD00051@xxxxxxxxxx> wrote:
>
> >SELECTを何回も発行するよりはプログラムで並べ替えたほうが
> >効率がいいでしょうと思っています。
>
>   以前にちょっと考えてみたことがありますが、スレッド生成用に、順序フィー
ルドと
>  階層を示すフィールドを用意し、
>
> ・例(順序値の最大値 1000)
> (1) ------------ [順序: 0, 階層: 0]
>     (2) ----------- [順序: 500, 階層: 1]
>         (4) ----------- [順序: 625, 階層: 2]
>             (6) ----------- [順序: 687, 階層: 3]
>     (3) ----------- [順序: 750, 階層: 1]
>     (5) ----------- [順序: 875, 階層: 1]
>
>  のような感じで、新しい投稿は前後の投稿の中間の値を入れるようにして作って>  たことがあります(実際は、順序値の最大値を int の最大値としています)。>  とは順序フィールドの順で取り出せばスレッド順になる、ということで。
>
> ・投稿時の処理がややこしい
> ・(閑散としているので多分ないけど)順序値の間が詰まってしまったらリナンバ
リング
> ・投稿間を線で結ぶのが難しい

もっと単純な手を考えれば、

> (1) -------------- 順序キー:'00001'
>     (2) ---------- 順序キー:'0000100002'
>         (4) ------ 順序キー:'000010000200004'
>             (6) ---順序キー:'00001000020000400006'
>         (7) -------順序キー:'000010000200007'
>     (3) -----------順序キー:'0000100003'
>     (5) -----------順序キー:'0000100005'

てな具合に直前のメッセージの順序キー+自分のmsgnoを固定桁数
でつなげていって順序キーを作るという方法を前、使っていました。
これなら参照する直前のメッセージの情報だけで順序キーができるはず。

-キーなる項目の長さがネストの深さに依存する
-メッセージの数が固定桁数を超えたらアウトやん
-気に入らなかったら結局、並べ方を変えなきゃいけない
っていうんでやめてますが、その辺りを制限とすれば使えるかなと。

===================================================
川合 孝典 (Hippo2000)
   DBI日本語メーリングリスト管理人、Kansai.pm所属
   kwitknr@xxxxxxxxxx GCD00051@xxxxxxxxxx
   http://member.nifty.ne.jp/hippo2000http://www.hippo2000.info/
「Cマガジン」でPerl DBIの連載はじまります。
   http://www.cmagazine.jp/
===================================================


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

      6207 2002-09-18 19:27 [Tybalt of Capulet <i] スレッド式掲示板のテーブル構造について  
      6208 2002-09-18 19:36 ┣[荒井 哲三 <tetsumi.]                                       
      6209 2002-09-18 19:45 ┣[Yuya.Nishida. <yuya@]                                       
      6210 2002-09-18 20:23 ┃┗[Tybalt of Capulet <i]                                     
      6211 2002-09-18 20:33 ┃ ┣[Tomohiro 'Tomo-p' KA]                                   
      6213 2002-09-18 20:41 ┃ ┣["Kaigai Kohei" <kaig]                                   
      6214 2002-09-18 20:49 ┃ ┣[Yuya.Nishida. <yuya@]                                   
      6216 2002-09-18 20:54 ┃ ┗[Takanori Tobe <taka@]                                   
      6212 2002-09-18 20:37 ┣[NAGASAWA Teruo <ml@x]                                       
      6217 2002-09-18 21:16 ┣[HAMAI Kyoichi <k-ham]                                       
      6225 2002-09-19 03:20 ┃┗["umemura" <shigemi.u]                                     
      6218 2002-09-18 21:17 ┣["KAWAI,Takanori" <GC]                                       
      6219 2002-09-18 21:33 ┃┗[Tomohiro 'Tomo-p' KA]                                     
->    6220 2002-09-18 22:02 ┃ ┗["KAWAI,Takanori" <GC]                                   
      6222 2002-09-18 22:14 ┃  ┣["黒木 玲" <kuroki434]                                 
      6223 2002-09-19 01:02 ┃  ┃┗[Tybalt of Capulet <i]                               
      6224 2002-09-19 03:16 ┃  ┃ ┣[<rio-t@xxxxxxxxxx>  ]                             
      6227 2002-09-19 07:15 ┃  ┃ ┃┣["kosugi" <kosugi@xxx]                           
      6228 2002-09-19 09:32 ┃  ┃ ┃┃┗["Takashi Yamashita" ]                         
      6229 2002-09-19 10:06 ┃  ┃ ┃┗[Tybalt of Capulet <i]                           
      6230 2002-09-19 10:21 ┃  ┃ ┃ ┗["黒木 玲" <kuroki434]                         
      6232 2002-09-19 11:01 ┃  ┃ ┃  ┗[Toyoshima Hiroshi <t]                       
      6233 2002-09-19 11:33 ┃  ┃ ┃   ┗[Tomohiro 'Tomo-p' KA]                     
      6236 2002-09-19 12:26 ┃  ┃ ┃    ┗[Toyoshima Hiroshi <t]                   
      6237 2002-09-19 12:52 ┃  ┃ ┃     ┗[HAMAI Kyoichi <k-ham]                 
      6231 2002-09-19 10:46 ┃  ┃ ┗["KAWAI,Takanori" <GC]                             
      6234 2002-09-19 12:18 ┃  ┗[<n.futami@xxxxxxxxxx]                                 
      6238 2002-09-19 13:52 ┃   ┣["kosugi" <kosugi@xxx]                               
      6247 2002-09-20 11:50 ┃   ┗[Tybalt of Capulet <i]                               
      6248 2002-09-20 12:53 ┃    ┣[Yuya.Nishida. <yuya@]                             
      6249 2002-09-20 13:21 ┃    ┃┗["KAWAI,Takanori" <GC]                           
      6252 2002-09-20 13:59 ┃    ┃ ┗[Yuya.Nishida. <yuya@]                         
      6251 2002-09-20 13:51 ┃    ┣["KAWAI,Takanori" <GC]                             
      6255 2002-09-20 22:53 ┃    ┗["kosugi" <kosugi@xxx]                             
      6257 2002-09-21 02:31 ┃     ┗[Tybalt of Capulet <i]                           
      6258 2002-09-21 05:18 ┃      ┗["kosugi" <kosugi@xxx]                         
      6259 2002-09-21 08:18 ┃       ┣["黒木 玲" <kuroki434]                       
      6260 2002-09-21 09:40 ┃       ┗["KAWAI,Takanori" <GC]                       
      6261 2002-09-21 11:16 ┃        ┗["kosugi" <kosugi@xxx]                     
      6262 2002-09-21 11:46 ┃         ┗["kosugi" <kosugi@xxx]                   
      6221 2002-09-18 22:10 ┣["kosugi" <kosugi@xxx]                                       
      6226 2002-09-19 06:39 ┃┗["kosugi" <kosugi@xxx]                                     
      6235 2002-09-19 12:25 ┣[You2 <ml-mysql@xxxxx]                                       
      6239 2002-09-19 15:01 ┗[平松 幸治 <kouji@xx] OR と AND を複数使った検索で・・・    
      6240 2002-09-19 15:09  ┣[平松 幸治 <kouji@xx]                                     
      6243 2002-09-19 15:35  ┃┗[平松 幸治 <kouji@xx]                                   
      6244 2002-09-19 16:34  ┃ ┗["Takashi Yamashita" ]                                 
      6250 2002-09-20 13:40  ┃  ┗[平松 幸治 <kouji@xx]                               
      6241 2002-09-19 15:16  ┣[SAKIMURA Noriyuki <s]                                     
      6242 2002-09-19 15:16  ┗[Daiju Azuma <daiju_a]