在我看这本书时《mysql性能调优与架构设计》,作者简朝阳,其中提到了一个典型案例,我简化如下:
tuser用户表,只存一个昵称字段,如下图所示
群组表,记录了哪些用户,加入了哪些群组,以及入群的时间,结构如下
对这两张表,我填充了些数据。tuser表和有130万条数据,tuser_tgroup表有137万条数据。
现在有个简单的需求是:查询出tgroup_id=1的用户id、昵称。按入群时间倒序排列,只取前20个用户。
很容易想到两种不同写法的sql:
方案一:
方案二