CompositeProvider versus MultiProvider
If you are using a SAP SAP HANAdatabase, you should create a CompositeProvider instead of a MultiProvider for new objects.
CompositeProvider versus InfoSet
If you are using a SAP HANAdatabase, you should create a CompositeProvider instead of an InfoSet for new objects. You only need to create an InfoSet if you want to define a time dependency or a key date for the join, since this is not possible using a CompositeProvider.
Inner Join versus Left Outer Join
If possible, use an inner join. An inner join is always faster.
If referential integrity is guaranteed, you should set the corresponding flag on the Output
tab. You then need to make sure that there is exactly one master data record for every value of the characteristic in the provider. If referential integrity exists, this can improve performance. You can also configure this setting later on.
Note If you have set the flag for referential integrity, you have to make sure that only one master data record exists for each characteristic value in the provider in future too. If you do not do this, you might find that records are missing in the query result because, with referential integrity, fields are assigned with an inner join.
Using OLAP Functions in Mixed Scenarios with SAP HANAviews
If you make significant use of BW OLAP functions, we recommend only using BW-persisted InfoProviders. This ensures the best possible performance when using BW OLAP functions.
OLAP functions (such as exception aggregation) can only be executed optimized in SAP HANA if all fields used in the query have master data IDs (SIDs). SAP HANAviews do not have SIDs