Add graphql-dataloader: Spring GraphQL 2.0 DataLoader batching vs naive N+1, and non-null propagation on a dangling FK
- naive @SchemaMapping resolver: 6 statements (5 books/5 authors), 21 statements (20 books/5 authors) - batched @BatchMapping resolver: flat 2 statements in both cases, via DataLoader + .distinct() - dangling authorId nulls the entire GraphQL response via non-null propagation, byte-identical under both resolver strategies - 6-test suite over real HTTP against a live embedded Tomcat instance, SQL captured via a JDK dynamic proxy (StatementLoggingDataSource, reused from sdjpa4-demo) - docs/05: two Boot 4.1 packaging changes hit along the way (DataSourceAutoConfiguration's new package, Jackson 3 by default) - root README: add row for graphql-dataloader; fix openapi-versioning's placeholder link now that post 7477 is live
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
naive profile / 20 books, 5 distinct authors (4 books per author) — repeats do not help
|
||||
|
||||
1. select b1_0.id,b1_0.author_id,b1_0.title from book b1_0
|
||||
2. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
3. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
4. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
5. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
6. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
7. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
8. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
9. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
10. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
11. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
12. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
13. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
14. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
15. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
16. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
17. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
18. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
19. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
20. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
21. select a1_0.id,a1_0.name from author a1_0 where a1_0.id=?
|
||||
|
||||
total statements: 21
|
||||
Reference in New Issue
Block a user