Skip to content

Too many queries are executed #22

Description

@havotto

Looks good, but just executing the query

query {
  conferences{
    id
    name
  }
}

results in a lot of additional queries, with many joins and subselects, only the first one is neccesary:

Hibernate: select conference0_.id as id1_1_, conference0_.version as version2_1_, conference0_.city as city3_1_, conference0_.name as name4_1_ from conference conference0_
Hibernate: select talks0_.conferences_id as conferen2_4_0_, talks0_.talks_id as talks_id1_4_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?
Hibernate: select speakers0_.talks_id as talks_id1_5_1_, speakers0_.speakers_id as speakers2_5_1_, person1_.id as id1_2_0_, person1_.version as version2_2_0_, person1_.blog as blog3_2_0_, person1_.github_account as github_a4_2_0_, person1_.name as name5_2_0_ from talk_speakers speakers0_ inner join person person1_ on speakers0_.speakers_id=person1_.id where speakers0_.talks_id in (select talk1_.id from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?)
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select speakers0_.talks_id as talks_id1_5_1_, speakers0_.speakers_id as speakers2_5_1_, person1_.id as id1_2_0_, person1_.version as version2_2_0_, person1_.blog as blog3_2_0_, person1_.github_account as github_a4_2_0_, person1_.name as name5_2_0_ from talk_speakers speakers0_ inner join person person1_ on speakers0_.speakers_id=person1_.id where speakers0_.talks_id in (select talk1_.id from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?)
Hibernate: select conference0_.talks_id as talks_id1_4_1_, conference0_.conferences_id as conferen2_4_1_, conference1_.id as id1_1_0_, conference1_.version as version2_1_0_, conference1_.city as city3_1_0_, conference1_.name as name4_1_0_ from talk_conferences conference0_ inner join conference conference1_ on conference0_.conferences_id=conference1_.id where conference0_.talks_id in (select talk1_.id from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?)
Hibernate: select conference0_.talks_id as talks_id1_4_1_, conference0_.conferences_id as conferen2_4_1_, conference1_.id as id1_1_0_, conference1_.version as version2_1_0_, conference1_.city as city3_1_0_, conference1_.name as name4_1_0_ from talk_conferences conference0_ inner join conference conference1_ on conference0_.conferences_id=conference1_.id where conference0_.talks_id in (select talk1_.id from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?)
Hibernate: select talks0_.conferences_id as conferen2_4_0_, talks0_.talks_id as talks_id1_4_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?
Hibernate: select talks0_.conferences_id as conferen2_4_0_, talks0_.talks_id as talks_id1_4_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?
Hibernate: select talks0_.conferences_id as conferen2_4_0_, talks0_.talks_id as talks_id1_4_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?
Hibernate: select speakers0_.talks_id as talks_id1_5_1_, speakers0_.speakers_id as speakers2_5_1_, person1_.id as id1_2_0_, person1_.version as version2_2_0_, person1_.blog as blog3_2_0_, person1_.github_account as github_a4_2_0_, person1_.name as name5_2_0_ from talk_speakers speakers0_ inner join person person1_ on speakers0_.speakers_id=person1_.id where speakers0_.talks_id in (select talk1_.id from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?)
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select conference0_.talks_id as talks_id1_4_1_, conference0_.conferences_id as conferen2_4_1_, conference1_.id as id1_1_0_, conference1_.version as version2_1_0_, conference1_.city as city3_1_0_, conference1_.name as name4_1_0_ from talk_conferences conference0_ inner join conference conference1_ on conference0_.conferences_id=conference1_.id where conference0_.talks_id in (select talk1_.id from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?)
Hibernate: select talks0_.conferences_id as conferen2_4_0_, talks0_.talks_id as talks_id1_4_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?
Hibernate: select talks0_.conferences_id as conferen2_4_0_, talks0_.talks_id as talks_id1_4_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_conferences talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.conferences_id=?
Hibernate: select speakers0_.talks_id as talks_id1_5_0_, speakers0_.speakers_id as speakers2_5_0_, person1_.id as id1_2_1_, person1_.version as version2_2_1_, person1_.blog as blog3_2_1_, person1_.github_account as github_a4_2_1_, person1_.name as name5_2_1_ from talk_speakers speakers0_ inner join person person1_ on speakers0_.speakers_id=person1_.id where speakers0_.talks_id=?
Hibernate: select talks0_.speakers_id as speakers2_5_0_, talks0_.talks_id as talks_id1_5_0_, talk1_.id as id1_3_1_, talk1_.version as version2_3_1_, talk1_.summary as summary3_3_1_, talk1_.title as title4_3_1_ from talk_speakers talks0_ inner join talk talk1_ on talks0_.talks_id=talk1_.id where talks0_.speakers_id=?
Hibernate: select conference0_.talks_id as talks_id1_4_0_, conference0_.conferences_id as conferen2_4_0_, conference1_.id as id1_1_1_, conference1_.version as version2_1_1_, conference1_.city as city3_1_1_, conference1_.name as name4_1_1_ from talk_conferences conference0_ inner join conference conference1_ on conference0_.conferences_id=conference1_.id where conference0_.talks_id=?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions