您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQL优化:Xml或定界字符串

SQL优化:Xml或定界字符串

现在有第四个选项-表值参数,您实际上可以将值表作为参数传递到sproc中,然后像通常使用表变量一样使用它。与XML(或CSV解析方法)相比,我更喜欢这种方法

我无法引用所有不同方法间的性能数据,但这是我要尝试的方法-我建议对它们进行一些实际的性能测试。

关于TVP的更多信息。为了将值传递到您的存储过程中,您只需定义一个sqlParameter(sqlDbType.Structured)-可以将其值设置为任何IEnumerable,DataTable或DbDataReader源。因此,假设您已经在某种形式的列表/数组中拥有值列表- 您无需执行任何操作即可将其转换为XML或CSV。

我认为这也使存储过程更加清晰,简单和可维护,为实现最终结果提供了更自然的方式。要点之一是,sql在基于集合的/非循环的/非字符串操纵的活动中表现最佳。

这并不是说它会在传入大量值的情况下发挥出色的性能。但是,使用较小的值集(最大?1000)应该没问题。

SQLServer 2022/1/1 18:29:11 有488人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶