Skip to main content
Solved

Thinkwise Guidelines Validations Performance Issues


Dave Bieleveld Starcode
Vanguard
Forum|alt.badge.img+2

We linked the Thinkwise Guidelines Validations. Validations for Thinkwise Guidelines now available in the Thinkstore! | Thinkwise Community (thinkwisesoftware.com)

Branch/Version 2023.1

It sometimes get stuck:

 

After some research the validations that uses a cursor to search through template code are the one that get stuck. For instance “tsf_guideline_subroutine_does_not_have_a_coded_transaction”

Using a user local temporary table AND Introducing an index (after the data is added, for additional performance) seems to solves the problem, but since it only gets randomly stuck it's hard to proof. But at worst, the performance is significantly increased. For instance “tsf_guideline_subroutine_does_not_have_a_coded_transaction” on our model goes down from 4 seconds to 0 (<1) seconds.

    create table #control_proc_template (control_proc_id     varchar(100)
                                         ,template_id         varchar(100)
                                         ,template_code       nvarchar(max)
                                         ,code_grp_id         varchar(100)
                                         )


    insert #control_proc_template (control_proc_id  
                                  ,template_id      
                                  ,template_code    
                                  ,code_grp_id      
                                  )
    select cpt.control_proc_id
          ,cpt.template_id
          ,cpt.template_code
          ,cp.code_grp_id
    from control_proc cp
         join control_proc_template cpt
           on cpt.model_id        = cp.model_id
          and cpt.branch_id       = cp.branch_id
          and cpt.control_proc_id = cp.control_proc_id
    where cpt.model_id   = @model_id
      and cpt.branch_id  = @branch_id
      and cp.generated   = 0
      and cp.generated_by_control_proc_id is null
      and cp.development_status <> 2 -- inactive
      and cp.control_proc_type  <> 2 -- dynamic model

    /* create index on temporary table */
    create nonclustered index control_proc_template_template_code
    on #control_proc_template (control_proc_id,template_id)
    include (template_code)

Will this be picked up in a newer version of the Thinkwise Guidelines Validations and if so, when? Or is it your advice to change the scripts our self?

Best answer by Robbert van Tongeren

Hi Dave,

Thanks for letting us know, we will put this on our backlog to investigate, I hope we can include this in the 2024.3 release.

View original
Did this topic help you find an answer to your question?
This topic has been closed for replies.

Robbert van Tongeren
Thinkwise blogger

Hi Dave,

Thanks for letting us know, we will put this on our backlog to investigate, I hope we can include this in the 2024.3 release.


Dave Bieleveld Starcode
Vanguard
Forum|alt.badge.img+2

@Robbert van Tongeren @Jeroen van den Belt 

I've made the suggested changes in the included export model. It might be useful to use for others or as a reference for your fix.


Robbert van Tongeren
Thinkwise blogger

The code in the Thinkstore is adjusted and we made some extra small changes, which will be noted in the release notes.

The release will be in the 2024.2.14 STS version and forward.

Thanks again for letting us know @Dave Bieleveld Starcode 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings