是否可以在mySQL中使用多维表
我希望根据用户的IP,用户代理和发送的会话令牌来记录用户。
这样的事情:
ip1
user-agent1
session token1
user-agent2
session token2
session token3
ip2
user-agent3
session token4
我希望避免使用serialize()
,因为我听说它会降低效率并减少便携性。
答案 0 :(得分:2)
这不是你有一个多维表,而是多个表。
id INT
ip VARCHAR
ip_id INT
useragent VARCHAR(2048) (some large value)
id
userid
token
上述所有三个组件都通过其id
列链接到一个标识会话的表中。多个ip_id
可能与单个token
相关联,后者又会关联多个可能的UA字符串。
它可能会为同一个IP提供相同的UA字符串,但会有来自同一IP的多个不同的会话令牌。
ip_id
token_id