What is the real batch-fetching
algorithm? (…) Imagine a batch size of
20 and a total number of 119
uninitialized proxies that have to be
loaded in batches. At startup time,
Hibernate reads the mapping Metadata
and creates 11 batch loaders
internally. Each loader knows how many
proxies it can initialize: 20,10,9,
8,7,6,5,4,3,2,1. The goal is to
minimize the memory consumption for
loader creation and to create enough
loaders that every possible batch
fetch can be produced. Another goal is
to minimize the number of sql
SELECTs,obvIoUsly. To initialize 119
proxies Hibernate executes seven
batches (you probably expected six,
because 6 x 20 > 119). The batch
loaders that are applied are five
times 20,one time 10,and one time 9,
automatically selected by Hibernate.
但我仍然不明白它是如何工作的.
>为什么11批装载机?
>为什么批量加载器可以初始化:20,8,1代理?
如果有人可以提出一步一步的算法…… 原文链接:https://www.f2er.com/java/129824.html