SQL Joins: O(log(n))

Each join is O(log(n)), so I believe you’re stuck with O(log(n)^7) as a worst case, although in practice it will probably not be so bad since one of the joins will probably limit the result set significantly.