Хранение данных в виде json (или xml) или с использованием дополнительной таблицы — SQL Server

У меня есть несколько элементов, и каждый из них имеет некоторые свойства:

item1 (prop1, prop2)
item2 (prop1, prop3, prop4)
item3 (prop2, prop4)

Требуются некоторые фильтры, группировка и предложение where для элементов по их свойствам. Итак, как лучше всего хранить эти элементы для достижения максимальной производительности:

  1. использование одной таблицы со столбцом с именем properties, в котором свойства хранятся в формате JSON или XML для предотвращения соединения между таблицами,

  2. или иметь дополнительную таблицу для их хранения (таблицы предметов и свойств)?

и почему?

Спасибо.


person Pedram    schedule 28.12.2019    source источник
comment
Похоже, вы хотите отношения один ко многим. Но спрашивать, зачем делать это в СУБД, не для чего предназначено Stack Overflow.   -  person Larnu    schedule 28.12.2019
comment
Спасибо @Larnu, я с вами согласен, но я спрашиваю о производительности. Другими словами, стоит ли использовать столбец JSON вместо создания новой таблицы для повышения производительности? (по нужным нам операциям: фильтровать, группировать по, где...)   -  person Pedram    schedule 28.12.2019
comment
Если вы собираетесь искать значение, то XML/JSON — неправильный выбор.   -  person Larnu    schedule 28.12.2019
comment
Спасибо @Larnu, и не могли бы вы сообщить мне, есть ли у вас какая-либо ссылка или ссылка или запрос экспериментальных данных в том же сценарии и анализ результатов в плане выполнения? Я уже прочитал этот пост.   -  person Pedram    schedule 29.12.2019
comment
Я просто хочу, чтобы вы объяснили (подробно), почему вы так говорите.   -  person Pedram    schedule 29.12.2019
comment
Я был бы склонен моделировать дополнительные таблицы. предмет, свойство и свойства предмета. Таким образом, вы можете вернуть элементы со свойством или просмотреть все свойства элемента. Делает вещи простыми.   -  person JGFMK    schedule 29.12.2019
comment
Спасибо @JGFMK, я полностью с вами согласен, но у меня есть база данных с полями JSON, интересно, может ли изменение модели помочь мне улучшить производительность или нет, и если да, то насколько?? Мне нужны некоторые ссылки или экспериментальные результаты, чтобы сравнить эти подходы.   -  person Pedram    schedule 29.12.2019
comment
Кажется, это идеальное время для тестирования вашей среды разработки, @Pedram.   -  person Larnu    schedule 29.12.2019
comment
@Larnu Я не хочу просто делать пробы и ошибки, я предпочитаю иметь несколько действительных рекомендаций, прежде чем начать это делать.   -  person Pedram    schedule 29.12.2019
comment
Так ты имеешь в виду, что хочешь, чтобы кто-то другой делал тесты за тебя? У нас нет доступа к вашим данным или настройкам, поэтому любой тест, который мы проводим, основан на предположениях, не основанных на информации о вашей среде или ее использовании. Самостоятельное тестирование — это отличный опыт, и вы получите очень реальные результаты. Для среды, которая у вас есть.   -  person Larnu    schedule 29.12.2019
comment
Уважаемый @Larnu, я не хочу, чтобы вы что-либо делали для меня, я просто хочу знать, какой подход лучше для достижения наилучшей производительности (например), рекомендованный в документах Microsoft или любых других действительных ссылках или чьих-то экспериментальных результатах, а не наше мнение. В любом случае, спасибо за внимание ????   -  person Pedram    schedule 29.12.2019
comment
Это не мнение; это просто то, как работает РСУБД. Честно говоря, я не понимаю, почему вы не хотите проверять это самостоятельно, но если вы не хотите тратить время, то и другие не будут делать это за вас; это очень дающие отношения на SO. Вы даете свои исследования, свои попытки, объясняете, что не работает, а мы объясняем вам, почему это не работает, и как это исправить. Дайте нам некоторые данные, несколько примеров и т. д., мы можем это сделать. Это не давать и брать (вы берете ответы, которые мы даем). У вас есть мой (экспертный) совет, если хотите, можете его игнорировать. Удачи в любом случае. :)   -  person Larnu    schedule 29.12.2019
comment
РСУБД, такие как sql server 2019, теперь могут правильно работать с данными JSON. Я уже начал менять модели и преобразовал данные json в некоторые таблицы, здесь я поделюсь своими результатами. Но мой вопрос не зависит от этой ситуации, он общий.   -  person Pedram    schedule 29.12.2019
comment
И, конечно же, я ценю вашу помощь @Larnu!   -  person Pedram    schedule 29.12.2019