Django视图响应时间问题

2024-03-29

您好,我有很多从查询中获得的对象,查询集尚未评估,当我将对象列表传递给分页器对象时,花了 14 秒才返回分页器对象,这是因为它正在评估列表中的所有对象,这需要时间(可能会击中数据库)。

在将查询集发送到分页器对象之前,我强制评估了查询集,如下所示:

ds_objects = list(ds_objects)

猜猜现在分页花了 0.0 秒返回对象,但问题仍然存在,所有时间都由 ds_objects = list(ds_objects) 占用,我怎样才能有效地做到这一点,使我的视图响应时间减少到仅 2 或 3 秒?我还没有找到任何最佳解决方案:s


我的猜测是 JOIN(所以select_related)对于查询速度并不重要。无论如何,当你做一个values()查询你并不真正需要的select_related因为您将获得的唯一字段是指定为的字段values()参数,并且无论如何它们都是由 JOIN 检索的。

要了解为什么需要这么长时间,您可以执行以下操作:

打印出“原始sql”

print tbl_action_log.objects.order_by('-TicketID', '-ActionLogID').query

修改它(它实际上不是 SQL,但应该足够接近)以在 SQL 客户端中运行,就像 django 自己的一样manage.py dbshell.

执行它,记下时间。然后执行EXPLAIN ...(将您的查询放在点中),您可能会看到一些“全表扫描”消息

在受影响的列上向数据库表添加适当的索引,然后再次执行查询。索引大概是这样的:

CREATE INDEX idx_action_log_on_tkid_logid ON tbl_action_log (TicketID, ActionLogID);

当您对索引满意时,将其创建命令存储在文件中app/sql/modelname.sql,这将在任何新部署中创建索引。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django视图响应时间问题 的相关文章

随机推荐

  • node_modules/@types/react-dom/... 处出现错误。后续变量声明必须具有相同的类型。变量“a”

    我已经安装了 types react dom 以及 typescript types react 和 types meteor 但是当我尝试从命令行运行类型检查器时 出现以下错误 您可以在此处重现错误并查看我的所有配置 https gith
  • 强制嵌入推文为 100% 宽度

    我试图通过将宽度设置为 100 来强制嵌入的推文做出响应式行为 我尝试按如下方式调整内联宽度 blockquote class twitter tweet width 100 blockquote 我还尝试对 twitter tweet 类
  • C 字符串初始值设定项不包含终止符?

    我对以下 C 代码片段有点困惑 printf Peter string is d bytes n sizeof Peter Peter string is 6 bytes 这告诉我 当 C 编译双引号中的字符串时 它会自动为空终止符添加一个
  • 使用Gson时出现奇怪的“nameValuePairs”键

    我正在尝试重建一个Object从它的字段 我将字段作为 JSONObject 获取 如下所示 JSONObject jObj new JSONObject JSONObject jObj1 new JSONObject JSONObject
  • Apache CXF 客户端代理设置

    我正在尝试使用以下教程开发肥皂服务的消费者http cxf apache org docs developing a consumer html http cxf apache org docs developing a consumer
  • GNU Mailman 的简单/轻量级替代品?

    我正在寻找一个非常简单的邮件列表 unix 友好 稳健性 细粒度可配置性 企业就绪性 无论这意味着什么 都不是要求 我只需要为几个朋友建立一个小型邮件列表 我不想自己破解一些东西 而是想知道是否有人知道已经有类似目标的东西 我现在应该注意的
  • 如何使用 log4j2 Commons 日志桥

    我想将 log4j2 Commons Logging Bridge 与 commons 1 2 一起使用 我尝试使用如下内容 import org apache logging log4j jcl LogFactoryImpl public
  • 在 ASP.net MVC 中通过 jQuery 在客户端本地化验证消息

    我使用 jquery 进行客户端验证以及数据注释 一切工作正常 但我想在数字文本框中输入非数字值时本地化消息 对于服务器端验证 可以通过将 DefaultModelBinder ResourceClassKey 设置为资源类名称并为 Pro
  • 如何获取手机的位置

    我正在编写一个管理非常大的表的脚本 当用户单击表格单元格时 我想知道他们单击了哪个单元格 例如 Click 应该给我一个 1 1 的单元格引用 无论如何我都可以用 javascript 来做到这一点 它运行的页面将 jquery 用于其他目
  • 如何像在 Matlab 中一样在 Java 中绘制绘图(相同语法)

    在 Matlab 中绘图非常简单明了 例如 figure Position 100 80 1000 600 plot x y1 or MarkerSize 0 2 MarkerFaceColor r LineWidth 2 xlabel M
  • 关于“在 DirectShow 之外使用 DirectShow 过滤器?”

    我在以下链接中有完全相同的问题 在 DirectShow 之外使用 DirectShow 过滤器 https stackoverflow com q 3458868 683527我是一名刚开始执导节目的人 该堆栈中的两个答案对我来说还不够清
  • 在登录视图中找到控件

    I have a masterpage with a loginview in the loginview i have an asp login control i also have a label that is NOT contai
  • 通过 pyspark.ml CrossValidator 调整隐式 pyspark.ml ALS 矩阵分解模型的参数

    我正在尝试调整使用隐式数据的 ALS 矩阵分解模型的参数 为此 我尝试使用 pyspark ml tuning CrossValidator 运行参数网格并选择最佳模型 我相信我的问题出在评估器上 但我无法弄清楚 我可以使用回归 RMSE
  • Groovy def 和 Java 对象之间的区别?

    我试图找出两者之间的区别 Groovy def name stephanie Java Object name stephanie 由于两者似乎都充当与它们交互的对象 因此我必须将它们转换为原始的预期类型 我最初是在寻找 C 动态类的 ja
  • 尝试递归地散列对象中的值

    朋友们 我正在尝试编写对 JSON 文件中的所有值进行哈希处理的代码 无论文件结构如何 同时保留键和结构 我是 javascript 新手 遇到了一些麻烦 我的代码对 big 和 baz 的值进行哈希处理 但没有像我希望的那样递归地对 ca
  • 如何检查 iCloud 是否以编程方式配置

    这是苹果文档中的一句话 如果未配置 iCloud 请询问用户是否要配置它 如果要配置 iCloud 最好将他们转移到启动设置 如何检查 iCloud 是否已配置以及如何启动 iCloud 设置 Edit 如果您的目标是 iOS6 或更高版本
  • 在 FTP 上上传多个文件

    我是 Objective C 和 iOS 的新手 我正在使用 SimpleFTPSample 制作用于将文件上传和下载到 ftp 的测试应用程序 我需要在 ftp 上上传两个文件 但在 SimpleFTPSample 中您只能上传一个 那么
  • Silverlight工具包图表线系列颜色选择

    我正在使用 Silverlight 4 工具包并使用图表控件 特别是线系列 我还使用 Microsoft Silverlight 主题之一 它带有一些图表的默认样式 我知道在 ToolkitStyles xaml 中有大量供图表工具包使用的
  • 在Linux中使用命令行检查单个线程优先级

    我可以通过转到 proc pidof task 并给出来查看应用程序中使用的线程数 猫的状态 有没有办法使用命令检查Linux中各个线程的优先级 Regards Learner 运行 ps m l 它将列出所有线程和特定 PID 的优先级
  • Django视图响应时间问题

    您好 我有很多从查询中获得的对象 查询集尚未评估 当我将对象列表传递给分页器对象时 花了 14 秒才返回分页器对象 这是因为它正在评估列表中的所有对象 这需要时间 可能会击中数据库 在将查询集发送到分页器对象之前 我强制评估了查询集 如下所