cancel
Showing results for 
Search instead for 
Did you mean: 

BIIP - Data Slices & Query Performance

Former Member
0 Kudos

Hello experts,

does anybody know the impact of data slices on query performance ? Or were we can measure the runtime of the data slices.

At the moment we use round about 15 data slices based on selection. Due to functional requirements it is not possible to reduce the number of data slices (when based on selection).

Can we improve performance by using 1 (or at least less than 15) data slice(s) based on exit class?

How is data slice based on selection working? Based on Exit, the Data Slice logic is processed for every record. Is it the same for data slices based on selection?

Thanks in advance

Johannes

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

No ideas at all?

not even anybody who had to measure the runtime performance of data slices?

Former Member
0 Kudos

Hi Johannes,

The DS by selection works the same row by row.

now you are using EXIT? can you send the coding and i can suggest if any thing can reduce runtime process.

Regards,

Eitan.

Former Member
0 Kudos

Hi Johannes,

The DS by selection is working the same line by line.

You are now using Exit? You can send the coding and i can suggest if process can be utilized better.

Regards,

Eitan.

0 Kudos

Hi Johannes,

yes, data slices and characteristic relationships can have an effect on performance compared to reporting queries of the same size.

As an example an empty cell in a reporting query cost nothing, in planning one has to check whether an empty cell can be input-ready.

Check notes 1458977, 1392717 for some background information about data slices.

Data slices will be checked on a record basis; the results of the checks will be buffered automatically for data slices based on selections. For exit data slices also an 'external' buffering can be used, cf. 1067433. It is enough to set one flag.

All selection based data slices will be united, at run time one logical data slice will be used; this logical data slice contains all relevant data slices. A data slice is relevant, if the query filter has an overlap with the selection used in the data slice; if not, the corresponding data slices will not be used (called) at run time. In an exit implementation you have to implement the method 'is_overlapping' to support this optimization.

In addition the system only calls a data slice, if all fields of the data slice can be filled. This depends on the 'list geometry' of the query, i.e. characteristics used in rows/columns and restricted key figures. E.g. if you have a restricted key figure using a restriction for 0CURRENCY = EUR and EUR is in a data slice, it is very cheap to disable input-readiness for this restricted key figure. If you have a data slice with restrictions on two characteristics C1,C2, one drilled-down in rows, the other in columns the system has to call the check on the cell level.

To make a long story short: How can you measure the impact of you customizing?

- Run your scenario with transaction SE30, measure transaction RSRT with you query. Do an aggregated measurement, the default settings should be sufficient.

- In the 'hit list' check the run time of IF_RSPLS_CR_CONTROLLER~IS_PROTECTED

In case of a BEx Analyzer or Web Template scenario you can record an RSTT trace and measure this with SE30: Simply execute the recorded trace via SE30. Of course the measurement has some overhead, but with SE30 traces you should get an impression whether data slices are relevant for performance or not.

Regards,

Gregor

Former Member
0 Kudos

Thanks a lot Gregor. Now I've got a better understanding of data slices and performance.

Regards
Johannes

Answers (0)