vince (./5) :
pour une requête de lot qui est déjà conséquente, faire 1000 requêtes sur la base des livres
Ça ressemble au syndrome "n+1" où tu fais une requête qui te renvoie n éléments puis n requêtes pour avoir des détails sur chacun de ces éléments. Tu peux faire une jointure dans la première requête, sinon tu peux faire une deuxième requête avec un IN (voire plusieurs si les 1 000 clés font que la requête est un peu trop grande

).
Enfin ma réponse est carrément basique et montre mon ignorance des questions de performance, mais en tout cas je souhaitais répondre sur le fait de faire n+1 requêtes c'est pas normal.
Sinon je comprends pas très bien l'impossibilité de faire un SELECT sur les livres, si tu veux des livres ça va être dur, non ?
Et au final le backref, c'est quoi? Par "set of", tu veux dire que les données sont entièrement dupliquées, ou bien qu'il garde un set de clés primaires (ce qui ferait de la redondance aussi mais quand même à une autre échelle).
Et pour le nombre de livres, comme la dit kim, un compteur ça fait très bien l'affaire tant que tu peux t'assurer de sa mise à jour lors des insertions.