假设我有一个将在工作表中使用 100,000 多次的 UDF。在函数中,有没有办法让它知道在批处理中还要调用多少次?基本上我想做的是让每个函数都创建一个待办事项列表。我想做类似的事情:
IF remaining functions to be executed after this one = 0 then ...
有没有办法做到这一点?
背景:
我想制作一个 UDF,用户只需提供参数(日期、小时、节点、类型)即可执行 SQL 查询。如果您愿意在每次运行函数时实际执行 SQL 查询,这很容易做到。我知道这很容易,因为我这样做了而且速度非常慢。我的新想法是让函数首先查看它要查找的数据是否存在于全局缓存变量中,如果不将其添加到全局变量“job-list”中。
我想要它做的是当调用最后一个函数时,然后遍历作业列表并执行最少数量的 SQL 查询并填充全局缓存变量。一旦缓存变量已满,它将执行表刷新以使所有其他函数再次被调用,因为在随后的调用中,它们将在缓存中找到所需的数据。