1
|
Abe Miessler · 技术社区 · 15 年前 |
![]() |
1
0
如果将此数据序列化为一列(如使用XML),则在需要对其进行搜索时会出现问题。 如果您不需要搜索它,那么XML就可以了。 您可以使用父子模型:
并且仍然能够添加索引和搜索。你的常规数据进入固定表格,任何
|
![]() |
2
0
您可以使用 vertical table . 有一些篮球你必须跳过去,你采取一些性能打击,但他们在这方面是非常灵活的。另外,如果您使用的是SQL Server,请检查 PIVOT command . |
![]() |
3
0
如果必须执行此操作,请在单独的表中执行此操作,以便以后可以联接到原始表。如果必须这样做,您可以使用EAV结构,但请注意,添加n列的灵活性对性能有很大影响。在很多情况下,我说的是真正令人无法接受的表现,记录越多越糟糕。除非你确定你别无选择,否则不要沿着这条路走。 另一种方法是,按照它们的意思添加一个表,表中有五列,分别标记为col1、col2、col3(以及其他需要链接到用户和/或其他数据表的列),并允许它们向这些列添加数据。如果每个用户要给它们命名不同的名称,则可能需要使用交叉引用表来计算列名。 您可以将数据放入一个XML字段中,但稍后如何查询这个字段?在决定如何处理之前,你真的需要弄清楚这一点。 一般来说,这种灵活性是个糟糕的主意。五个不同的用户将分别添加五个不同的列,这些列包含您希望一起查询的Simliar数据,但由于它们各自使用了不同的名称,所以您的数据库会变得一团糟。如果您必须有客户设计的列,那么至少要让每个客户有一个管理员来添加这些列,而不是让用户在他们认为有什么好东西的情况下进行动态添加。 |
![]() |
Jack Skeletron · T-SQL三表求和 7 年前 |
![]() |
CSK · 列出sql server中存储过程中的存储过程 7 年前 |
![]() |
DRT · 从文本字段中提取多个日期 7 年前 |
![]() |
ihatemash · 确定可以合并哪些行的SQL查询 7 年前 |
![]() |
Shawn · 使用WinZip命令行的SQL Server作业 7 年前 |