一般情况下,报表中的参数被访问时,参数对象将被初始化,并根据参数定义设置参数的默认值、备选值,默认值、备选值设置通常都会是一段SQL语句,从数据库中返回数据。当启动参数缓存设置项后,报表中的参数对象在首次访问后会被缓存到服务器中,系统中的用户再次打开此报表(或其他报表)获取该参数时,将直接从服务器返回该参数对象,而无需再次进行初始化,以及获取参数的默认值、备选值等。当参数备选值的SQL语句执行查询需要花费较长时间时,参数缓存将有效提高系统性能和用户体验。
参数缓存设置项分为系统级设置项和参数级设置项。
注:当参数启用缓存后,如果在参数被访问后数据库中的内容发生了变化,由于参数对象已经缓存,不会再去执行对应的SQL语句,所以备选值的内容不会同步更新。这时,需要清除参数缓存,使得参数重新进行初始化,重新执行SQL语句。方案是在完成数据库内容更新后,手动调用Smartbi 清空参数缓存的API,当用户在此访问该报表时重新进行参数初始化,获取最新的参数内容。