我们是否应该以数据库格式(如XML或JSON格式)将应用程序键值设置数据保存为序列化方式。 例如用户设置数据可以在单个nvarchar(2000)列中以序列化方式保存
或者我应该将它们保存为像BELOW
这样的列用户ID,设置名称,设置值
答案 0 :(得分:1)
以序列化方式存储时,很难更新其中的单个值。相反,您需要每次更新列 如果您存储在表格中,则可以轻松更新单行或从表中检索。
您可以将结构定义为:
表:setting
列(settingid,setting_name,setting_value)
表:user_settings
列(userid,settingid)
答案 1 :(得分:0)
我有最终结构 但是这个结构可以扩展到1000万用户* 100设置= 10亿设置Mysql ?? 是的,它会!
SettingType TABLE
SettingTypeId UNSIGNED SMALLINT(2)
SettingName VARCHAR(100)
SettingDescription VARCHAR(300)
Created DATETIME
LastUpdated TIMESTAMP
CreatedBy UNSIGNED INT(4)
ModifiedBy UNSIGNED INT(4)
Deleted BIT
Disabled BIT
RecordVersion UNSIGNED INT(4)
最终结构: -
设置表
SettingId UNSIGNED INT(4)
SettingTypeId UNSIGNED SMALLINT(2)
UserId UNSIGNED INT(4)
SettingValue VARCHAR(1000)
Created DATETIME
LastUpdated TIMESTAMP
CreatedBy UNSIGNED INT(4)
ModifiedBy UNSIGNED INT(4)
Deleted BIT
Disabled BIT
RecordVersion UNSIGNED INT(4)