Query语句对系统性能的影响

时间:2022-07-16 07:31:56

需求: 取出某个group(假设id为1)下的用户编号id,用户昵称(nick_name),并按照加入组的时间(user_group.gmt_create)来进行倒序排列,取出前20个

解决方案一:

  SELECT id,nick_name FROM user,user_group WHERE user_group.group_id = 1 And user_group.user_id = user.id ORDER BY user_group.gmt_create desc LIMIT 100, 20;

解决方案二:

  SELECT user.id,user.nick_name FROm (SELECT user_id FROM user_group WHERE user_group.group_id = 1 ORDER BY gmt_create desc LIMIT 100, 20) t,user WHERE t.user_id = user_id;

  第二种解决方案应该明显优于第一种解决方案