比较SQL中的三个逗号分隔值

时间:2016-09-27 12:31:58

标签: performance tsql rdbms

比较sql中的两个逗号分隔值,我们可以通过使用Split类函数来完成。(我们可以做三列!)  但是,不使用这些功能是可能的吗?

让我举个例子。

enter image description here

查询应检查以下条件

(1)从表1中选择已计划的任务。但不是完成或拒绝列。

(2)仅返回强制性任务

使用拆分功能(UD功能)或Cursor使查询更加复杂,并且它也会吞下时间。

有没有其他解决方案可以完成这项工作? 单个查询可能吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

没有灵丹妙药。如果你真的想提高性能,可以将其标准化(可能是索引)。此外,更多标准查询可以在没有拆分功能的情况下工作。

根据确切的情况,它可能会有所不同,但是根据你所展示的内容,我会为每个与table1相关的任务创建一个任务表,这些任务表似乎是包含许多任务的“作业”或“项目”。 / p>

只是在表中意味着它们是计划任务,包含强制,拒绝和完成的列。

如果您无法规范化此数据,那么您可能会遇到拆分功能。有些文章关于从分裂函数中获得出色的性能,CLR函数看起来运行得非常快。