does not exists one "best way", it depends on your data.
Resident Load and Precedent load both are different concepts.
With Resident load you can load the same table any N number of times again and again. But with preceding load you can only load one time. Mainly this is been used in transformation, Calculation, using Qlikview/Sense functions with Select query etc.
Perhaps your perception:
Joydip Chakraborty wrote:
In case of Resident Load data gets copied into RAM for the second time ....
is not right. QV probably would not load it twice, rather fetch the already loaded (in RAM) data.
And your statement:
In preceding load data fetched from data sources only once and gone through some transformations on the fly in the preceding steps and then finally loaded into RAM. ..
is not probably accurate either. The data is already there in RAM when any operation is being performed on it. Preceding load is like working in a pipeline in a bottom-up approach. Some operation is performed on a record (Note: it is one-by-one record process) and in another operation (preceding load) it operates on the result of first operation.
Now I would comprehend Why Preceding Load is Faster (in General) like:
In preceding load, multiple operations are done in a sequence/pipeline record-by-record, so the QV engine would fetch (from the base address of RAM) the same record only once for multiple operations. Whereas, in resident load, the same record has to be fetched multiple times for multiple operations.