遇到查询几十万数据的时候接口查询很慢的场景(十几秒),用分析工具debug_toolbar(官方文档推荐工具)发现查询count的sql执行很慢,而且sql里面有个“distinct”,并且是对查询的所有字段进行去重,排查后发现是
django_filters.MultipleChoiceFilter的默认参数distinct为True
置为False后,查询速度恢复正常,优化后响应时间不到一秒。
文章讲述了在处理几十万数据查询时,接口响应慢的问题,主要是由于django_filters的MultipleChoiceFilter默认使用了distinct参数,导致SQL查询中对所有字段进行了去重操作,从而影响效率。禁用distinct后,查询速度显著提升,响应时间降低到一秒内,实现了接口性能的优化。
遇到查询几十万数据的时候接口查询很慢的场景(十几秒),用分析工具debug_toolbar(官方文档推荐工具)发现查询count的sql执行很慢,而且sql里面有个“distinct”,并且是对查询的所有字段进行去重,排查后发现是
django_filters.MultipleChoiceFilter的默认参数distinct为True
置为False后,查询速度恢复正常,优化后响应时间不到一秒。
139
4931
4999

被折叠的 条评论
为什么被折叠?