表的结构是一个充值记录表,用户每充值一笔就产生一条记录,我想把每个用户在一段时间内充值求和,根据每个用户充值的总数进行排序,并截取前若干位,目前sql语句如下:
但是没有截取操作,排序不是用的sql的order_by,因为要根据求和后排序,现在想通过sql语句实现需求,求代码??(之所以想优化是因为数据量过大时会导致sql语句变慢吧?还是说影响没那么大,但是要是后端传输到前端会变慢?)
表的结构是一个充值记录表,用户每充值一笔就产生一条记录,我想把每个用户在一段时间内充值求和,根据每个用户充值的总数进行排序,并截取前若干位,目前sql语句如下:
但是没有截取操作,排序不是用的sql的order_by,因为要根据求和后排序,现在想通过sql语句实现需求,求代码??(之所以想优化是因为数据量过大时会导致sql语句变慢吧?还是说影响没那么大,但是要是后端传输到前端会变慢?)
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
8 回答1.2k 阅读
3 回答1.2k 阅读✓ 已解决
SQLAlchemy和手写的 SQL 语句本质上没有区别, 因为SQLAlchemy也是生成 SQL 语句传到数据库. 性能问题不会因手写有多大改善, 同时 SQLAlchemy 能避免掉一些常见的错误,且便于重构和修改. 至于性能问题, 最好能过针对需求的设计来解决, 比如单独建一个统计表在用户充值和消费时同时修改总数和余额而不是每次实时统计.