Mysql表中的空字段太多了

时间:2013-10-01 23:26:39

标签: mysql

我在Mysql中有一个表用户配置文件构建,它包含许多可选列。 (约30列)

id, tel, live, mob, email...

Q1。我应该将它存储在30个表中(使用连接)还是将其存储在1个表中?

如果有30个表

如果用户没有保存数据,它可以保存很多空字段。

问。当我查询时,这将需要加入30次,这对于性能实例只会选择1个表并进行查询。 (为每个查询编写起来会更加困难)

if 1 table

中会有很多空字段

问。我应该将其存储为空或“空”吗?

1 个答案:

答案 0 :(得分:0)

Q1。我应该将它存储在30个表中(使用连接)还是将其存储在1个表中?

不,这不是一个好主意

Q值。当我查询时,这将需要加入30次,这对于性能instate来说只是选择1表和查询。 (为每个查询编写起来会更加困难)

是的,这会严重影响您的表现

一般情况下,您希望让您的表格相对较小(我的意见),但您应该为您可能需要的用户分组相关值:用户名,电子邮件,密码,last_login等。

虽然30列似乎有点高,但可能有一个合理的原因,但如果您发现许多字段在大多数时间都是空的,那么您应该重新考虑您的设计。那些字段不是空的时候是什么情况?例如,如果这些字段仅在用户输入了地址信息时才为空,那么您可能应该创建一个地址表。

这篇文章很好地解答了空对空问题:MySQL, better to insert NULL or empty string?