SWITCH与IIF的性能比较?

时间:2013-08-14 12:54:42

标签: sql ms-access-2003

背景:将传奇的Excel报表项目迁移到MS Access中,以满足数据库结构的需要。

限制:开发环境在Excel和Access中。由于大量的数据处理和保持移动的n个月数据,它无法通过记录集进行循环。

问题:在当前的Excel报告平台中,有多个子工具分别用于处理数据。因此,它具有通过遍历每一行来处理小块数据的特权。使用IF-ELSE执行条件检查。

在提议的MS Access结构中,这些IF-ELSE被转换为IIF。鉴于这种情况,想知道有关IIF与SWITCH的性能比较的意见。任何更好的解决方案都是最受欢迎的。

PS:导入源后,数据库自动关闭以进行压缩和修复,因为它“膨胀”。最终db应兼容ms 2003和2010软件包

2 个答案:

答案 0 :(得分:1)

我认为这可能就是你想要的:

Microsoft

  

Iif函数返回两个值中的一个,具体取决于表达式是否为true。以下表达式使用Iif   函数返回布尔值True,如果LineTotal的值   超过100.否则返回False。

     

当您有三个或更多条件时,Switch功能非常有用   去测试。 Switch函数返回与之关联的值   第一个表达式,计算结果为true。

答案 1 :(得分:1)

我认为Switch是VBA函数(如Nz),而Iif是SQL函数。这有很多含义,你可以探索here, on Allen Browne's site 在客户端 - 服务器体系结构(SQL Server / Oracle或类似的后端)中工作时,应特别避免查询中的VBA函数。