Skip to content

Instantly share code, notes, and snippets.

@keithharper
Last active August 7, 2024 13:01
Show Gist options
  • Save keithharper/7931e836d51b453eb3ab43141685a3d2 to your computer and use it in GitHub Desktop.
Save keithharper/7931e836d51b453eb3ab43141685a3d2 to your computer and use it in GitHub Desktop.
query-stats for scenario1
(-> {:query '{:find [?album-name ?year]
:in [$ ?artist-name]
:where [[?artist :artist/name ?artist-name]
[?release :release/artists ?artist]
[?release :release/name ?album-name]
[?release :release/year ?year]
[(< ?year 1970)]]}
:args [db "John Lennon"]
:query-stats true}
d/query
:query-stats)
=>
{:query {:find [?album-name ?year],
:in [$ ?artist-name],
:where [[?artist :artist/name ?artist-name]
[?release :release/artists ?artist]
[?release :release/name ?album-name]
[?release :release/year ?year]
[(< ?year 1970)]]},
:phases [{:sched (([(ground $__in__2) ?artist-name]
[?artist :artist/name ?artist-name]
[?release :release/artists ?artist]
[?release :release/name ?album-name]
[?release :release/year ?year]
[(< ?year 1970)])),
:clauses [{:clause [(ground $__in__2) ?artist-name],
:rows-in 0,
:rows-out 1,
:binds-in (),
:binds-out [?artist-name],
:expansion 1}
{:clause [?artist :artist/name ?artist-name],
:rows-in 1,
:rows-out 1,
:binds-in [?artist-name],
:binds-out [?artist]}
{:clause [?release :release/artists ?artist],
:rows-in 1,
:rows-out 21,
:binds-in [?artist],
:binds-out [?release],
:expansion 20}
{:clause [?release :release/name ?album-name],
:rows-in 21,
:rows-out 21,
:binds-in [?release],
:binds-out [?album-name ?release]}
{:clause [?release :release/year ?year],
:rows-in 21,
:rows-out 3,
:binds-in [?album-name ?release],
:binds-out [?year ?album-name],
:preds ([(< ?year 1970)])}]}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment