Refactor #1210

user info fetching is not efficient when having many nested groups

Added by Ohad Levy over 1 year ago.

Status:New Start:10/04/2011
Priority:Normal Due date:
Assigned to:- % Done:

0%

Category:-
Target version:-
Backlog:No Difficulity:
Votes: 0

Description

  Usergroup Load (0.3ms)   SELECT "usergroups".* FROM "usergroups" INNER JOIN "usergroup_members" ON "usergroups".id = "usergroup_members".usergroup_id WHERE (("usergroup_members".member_type = 'User') AND ("usergroup_members".member_id = 1)) ORDER BY LOWER(usergroups.name)
  Usergroup Load (0.2ms)   SELECT "usergroups".* FROM "usergroups" INNER JOIN "usergroup_members" ON "usergroups".id = "usergroup_members".member_id AND "usergroup_members".member_type = 'Usergroup' WHERE (("usergroup_members".usergroup_id = 1)) ORDER BY LOWER(usergroups.name)
  Usergroup Load (0.2ms)   SELECT "usergroups".* FROM "usergroups" INNER JOIN "usergroup_members" ON "usergroups".id = "usergroup_members".member_id AND "usergroup_members".member_type = 'Usergroup' WHERE (("usergroup_members".usergroup_id = 2)) ORDER BY LOWER(usergroups.name)
  User Load (0.2ms)   SELECT "users".* FROM "users" INNER JOIN "usergroup_members" ON "users".id = "usergroup_members".member_id AND "usergroup_members".member_type = 'User' WHERE (("usergroup_members".usergroup_id = 2)) 
  User Load (0.2ms)   SELECT "users".* FROM "users" INNER JOIN "usergroup_members" ON "users".id = "usergroup_members".member_id AND "usergroup_members".member_type = 'User' WHERE (("usergroup_members".usergroup_id = 1)) 
  CACHE (0.0ms)   SELECT "usergroups".* FROM "usergroups" INNER JOIN "usergroup_members" ON "usergroups".id = "usergroup_members".member_id AND "usergroup_members".member_type = 'Usergroup' WHERE (("usergroup_members".usergroup_id = 2)) ORDER BY LOWER(usergroups.name)
  CACHE (0.0ms)   SELECT "usergroups".* FROM "usergroups" INNER JOIN "usergroup_members" ON "usergroups".id = "usergroup_members".member_id AND "usergroup_members".member_type = 'Usergroup' WHERE (("usergroup_members".usergroup_id = 1)) ORDER BY LOWER(usergroups.name)
  CACHE (0.0ms)   SELECT "users".* FROM "users" INNER JOIN "usergroup_members" ON "users".id = "usergroup_members".member_id AND "usergroup_members".member_type = 'User' WHERE (("usergroup_members".usergroup_id = 1)) 
  CACHE (0.0ms)   SELECT "users".* FROM "users" INNER JOIN "usergroup_members" ON "users".id = "usergroup_members".member_id AND "usergroup_members".member_type = 'User' WHERE (("usergroup_members".usergroup_id = 2))

Also available in: Atom PDF