当您没有SQL Server 2008(TVP)时,将XML参数传递到SPROC的好处是,如果您的参数要求发生更改,则不必重新编译/等等。您的应用程序符合要求。
我认为,将数据作为XML保存在表字段中并不是最好的主意,存储过程应该解析传入的XML并填充表中的相关字段。但是,我们也可以很容易地对表中字段中包含的XML执行SELECT/filter查询。
在解析出XML和填充适当的字段时引入了什么样的延迟,这样做有什么好处吗?
在交通繁忙的环境中,哪种政策是最好的?
这取决于情况。这是一个非常宽泛的问题。通常,解析XML需要大量处理(在这种情况下没有XML索引)。你的高流量是大量插入还是大量选择?
如果适用的话,解析表可能会有很多好处。如果您不需要查询它,并且存储XML以便以后以相同的形式返回它,那么获得的好处就更少了。
这肯定取决于表中的其余数据,以及插入/更新与选择以及其他维护的时间。一个好的媒介可能是插入带有索引的XML。据我所知,没有最好的策略,但我的目标是在插入时解析它,并将其存储在单独的字段中,这样可以获得引用完整性、索引、更快的查询和降低存储成本等好处。
在比较不同的方法时,可以使用查询计划和等待统计信息。