Fix n plus 1 strict loading
Le patch qu’on avait fait précédemment était buggué: on mettait le mode à :n_plus_one_only
pour tous les records, ce qui équivaut à désactiver le strict_loading complètement.
On ne veut pas non plus mettre au mode :all
, parce que ça casse un usage normal où on fetch une instance, puis ses relations directes: ce cas ne génère que deux requêtes (une pour le find
et une pour la relation), et n’est donc pas un problème.
En fait, le mode :n_plus_one_only
, par défaut, est mal nommé: il détecte le deuxième niveau de boucles, autrement dit le N²+1
. Il y plus de discussion ici.