1

mySQLに多次元テーブルを含めることは可能ですか?

ユーザーのIP、ユーザーエージェント、および送信したセッショントークンに基づいてユーザーをログに記録したいと思います。

このようなもの:

ip1
    user-agent1
        session token1
    user-agent2
        session token2
        session token3
ip2
    user-agent3
        session token4

serialize()テーブルの効率や携帯性が低下すると聞いているので、使用は避けたいと思います。

4

1 に答える 1

2

多次元テーブルではなく、複数のテーブルがあるということです。

テーブルips

id INT
ip VARCHAR

テーブルユーザーエージェント(UAをIPにリンク)

ip_id INT
useragent VARCHAR(2048) (some large value)

テーブルトークン(ユーザーをトークンにリンクします)

id
userid 
token

上記の3つのコンポーネントはすべて、それらの列を介して、idセッションを識別するテーブルにリンクされています。複数ip_idが単一に関連付けられ、単一tokenのUA文字列が複数の可能なUA文字列に関連付けられる場合があります。

同じIPに対して同一のUA文字列が存在する可能性がありますが、同じIPからの複数の異なるセッショントークンが存在する可能性があります。

テーブルセッション

ip_id
token_id
于 2012-04-12T13:53:59.250 に答える