с рядами

ребования:

Необходимо иметь возможность динамически добавлять пользовательские поля любого типа данныхНеобходимо уметь быстро запрашивать UDFНужно уметь делать вычисления на UDF на основе типа данныхНеобходимо уметь сортировать пользовательские функции по типу данных

Другая информация:

Я ищу производительность в первую очередьСуществует несколько миллионов основных записей, к которым можно прикрепить данные UDFКогда я последний раз проверял, в нашей текущей базе данных было более 50 миллионов записей UDFВ большинстве случаев UDF прикрепляется только к нескольким тысячам основных записей, но не ко всемUDF не объединяются и не используются в качестве ключей. Это просто данные, используемые для запросов или отчетов

Параметры:

Создать большую таблицу с помощью StringValue1, StringValue2 ... IntValue1, IntValue2, ... и т. Д. Я ненавижу эту идею, но рассмотрю ее, если кто-то скажет мне, что это лучше, чем другие идеи и почему.

Создайте динамическую таблицу, которая добавляет новый столбец по требованию. Мне также не нравится эта идея, так как я чувствую, что производительность будет низкой, если вы не проиндексировали каждый столбец.

Создайте одну таблицу, содержащую UDFName, UDFDataType и Value. Когда добавляется новый UDF, генерирует View, который извлекает только эти данные и анализирует их в соответствии с указанным типом. Элементы, которые не соответствуют критериям анализа, возвращают NULL.

Создайте несколько таблиц UDF, по одной на тип данных. Таким образом, у нас будут таблицы для UDFStrings, UDFDates и т. Д. Вероятно, мы сделаем то же самое, что и # 2, и автоматически создадим View при каждом добавлении нового поля

XML DataTypes? Я не работал с ними раньше, но видел, как они упоминались. Не уверен, что они дадут мне результаты, которые я хочу, особенно с производительностью.

Что-то другое?

Ответы на вопрос(12)

Ваш ответ на вопрос