Auth directives cripling database speed

{
  queryContact(first: 1) {
    id
    guid
    hasOwners {
      id
      firstName
      lastName
      organization
      gravatar
    }
    hasModerators {
      id
      firstName
      lastName
      organization
      gravatar
    }
    creator {
      id
      firstName
      lastName
      gravatar
    }
    isType
    isGroup {
      slug
      name
      isContact {
        id
        organization
        abbreviation
        gravatar
      }
    }
    isUser {
      username
    }
    prefix
    firstName
    nickName
    middleName
    lastName
    suffix
    preferredName
    organization
    abbreviation
    gender
    field
    hasLocation {
      id
      lat
      lon
    }
    hasAddresses {
      id
    }
    hasPhones {
      id
    }
    hasEmails {
      id
    }
    hasNotes {
      id
    }
    hasEvents {
      id
    }
    attendedEvents {
      id
    }
    hasTasks {
      id
    }
    hasToDo {
      id
    }
    hasLinks {
      id
    }
    hasStaff {
      id
    }
    staffOf {
      id
    }
    hasHours {
      id
    }
    hasMadeCommitments {
      id
    }
    hasReceivedCommitments {
      id
    }
    hasCustomIds {
      id
    }
    recommends {
      id
      for {
        id
      }
    }
    recommended {
      id
      by {
        id
      }
    }
    friends {
      id
    }
    edits {
      id
    }
    parents {
      id
    }
    children {
      id
    }
    members {
      id
      member {
        id
      }
    }
    memberOf {
      id
      memberOf {
        id
      }
    }
    sent {
      id
    }
    sentBy {
      id
    }
  }
}

Yeah, it is a really big query, but the fact that it is so fast for the admin but so much slower for users where the auth queries rules have to run it really drags down performance. Thanks to @michaelcompton who helped explain auth rule processing which gave the insight to understand this better.