相关疑难解决方法(0)

如何为用户定义的字段设计数据库?

我的要求是:

  • 需要能够动态添加任何数据类型的用户定义字段
  • 需要能够快速查询UDF
  • 需要能够基于数据类型对UDF进行计算
  • 需要能够根据数据类型对UDF进行排序

其他信息:

  • 我主要是在寻找表现
  • 有几百万条Master记录可以附加UDF数据
  • 当我上次检查时,我们当前的数据库中有超过50mil的UDF记录
  • 大多数情况下,UDF仅附加到几千个Master记录中,而不是全部记录
  • UDF未加入或用作键.它们只是用于查询或报告的数据

选项:

  1. 使用StringValue1,StringValue2创建一个大表... IntValue1,IntValue2,...等我讨厌这个想法,但如果有人能告诉我它比其他想法更好,为什么会考虑它.

  2. 创建一个动态表,根据需要按需添加新列.我也不喜欢这个想法,因为除非你索引每一列,否则我觉得性能会很慢.

  3. 创建一个包含UDFName,UDFDataType和Value的表.添加新的UDF时,生成一个View,它只提取该数据并将其解析为指定的任何类型.不符合解析标准的项返回NULL.

  4. 创建多个UDF表,每种数据类型一个.所以我们有UDFStrings,UDFDates等的表.可能和#2一样,并且只要添加新字段就自动生成View

  5. XML数据类型?我之前没有使用过这些,但已经看过它们了.不确定他们是否会给我我想要的结果,尤其是性能.

  6. 别的什么?

sql database database-design user-defined-fields

138
推荐指数
7
解决办法
5万
查看次数

设计模式动态添加数据库表中的列

用户想要动态地在UI中添加新字段.这个新字段应该存储在数据库中,并且应该允许它们对它执行CRUD.

现在我可以通过指定XML来实现这一点,但我想要一个更好的方法来搜索这些新列.此外,触发ALTER语句和添加新列的想法似乎是错误的.

任何人都可以帮我在数据库服务器端设计模式如何解决这个问题?

sql database

4
推荐指数
1
解决办法
3245
查看次数