优化过一次SQL,结果生产环境上出了问题,分页查询有重复数据。原SQL使用order by 进行分页查询,出现数据重复的问题,排查后发现是数据库没有唯一字段导致。
暂时能想到的解决办法是:
1.order by 后面条件需要加上数据库里的唯一字段做区分。
2.若数据库不存在可区分的唯一字段,就只能根据row_id进行排序 ,因为这样跟业务没有联系,所以一般不推荐
优化过一次SQL,结果生产环境上出了问题,分页查询有重复数据。原SQL使用order by 进行分页查询,出现数据重复的问题,排查后发现是数据库没有唯一字段导致。
暂时能想到的解决办法是:
1.order by 后面条件需要加上数据库里的唯一字段做区分。
2.若数据库不存在可区分的唯一字段,就只能根据row_id进行排序 ,因为这样跟业务没有联系,所以一般不推荐