Automatic roles by attribute performance

Price for rule type: contract < identity < contract EAV < identity EAV

This page contains information about performance and automatic role by attribute.

All tests was done with PostgreSQL database in version 9.6.

Performance test was executed by recalculation by single user. This mean normal save identity/contract and their eavs. Then was explained query composed for given rules.

Test scenario: * Rule 1. - identity EAV equals

Explain result 0.56 min and 47.53 max


Test scenario:

  • Rule 1. - identity EAV equals
  • Rule 2. - identity EAV is not empty

Explain result 0.84 min and 55.52 max


Test scenario:

  • Rule 1. - identity EAV equals
  • Rule 2. - identity EAV is not empty
  • Rule 3. - identity EAV multivalued equals

Explain result 1.12 min and 63.49 max


Test scenario:

  • Rule 1. - identity EAV equals
  • Rule 2. - identity EAV is not empty
  • Rule 3. - identity EAV multivalued equals
  • Rule 4. - identity phone contains

Explain result 1.40 min and 72.51 max


Test scenario:

  • Rule 1. - identity EAV equals
  • Rule 2. - identity EAV is not empty
  • Rule 3. - identity EAV multivalued equals
  • Rule 4. - identity phone contains
  • Rule 5. - contract position is not empty

Explain result 1.40 min and 72.51 max

Rule for contract entity doesn't need extra cost. Because connection to contract exists every time.

Test scenario:

  • Rule 1. - identity EAV equals
  • Rule 2. - identity EAV is not empty
  • Rule 3. - identity EAV multivalued equals
  • Rule 4. - identity phone contains
  • Rule 5. - contract position is not empty
  • Rule 6. - identity EAV multivalued is not empty

Explain result 1.68 min and 72.13 max


Test scenario:

  • Rule 1. - identity EAV equals
  • Rule 2. - identity EAV is not empty
  • Rule 3. - identity EAV multivalued equals
  • Rule 4. - identity phone contains
  • Rule 5. - contract position is not empty
  • Rule 6. - identity EAV multivalued is not empty
  • Rule 7. - identity EAV multivalued is empty

Explain result 1.96 min and 95.05 max


Test scenario: * Rule 1. - identity EAV equals * Rule 2. - identity EAV is not empty * Rule 3. - identity EAV multivalued equals * Rule 4. - identity phone contains * Rule 5. - contract position is not empty * Rule 6. - identity EAV multivalued is not empty * Rule 7. - identity EAV multivalued is empty * Rule 7. - identity username not start with

Explain result 2.24 min and 95.72 max


Test scenario: * Rule 1. - identity EAV multivalued (shorttext) is empty

Explain result 0.56 min and 39.51 max

Rule with is empty and multivalued for identity is the most expensive.

Test scenario: * Rule 1. - contract EAV multivalued is empty

Explain result 0.42 min and 24.77 max

  • by kopro