当前位置: 首页 > 面试题库 >

记录所有sql查询

贾俊艾
2023-03-14
问题内容

如何记录django应用程序执行的所有SQL查询?

我想记录所有内容,包括来自管理站点的SQL。我看到了这个问题和一个常见问题解答,但是我仍然不知道应该把它放在哪里

from django.db import connection
connection.queries

将所有内容记录到一个文件?

所以我的问题是-我应该怎么做才能拥有一个记录所有SQL语句的文件(例如all-sql.log)?


问题答案:

也许看看https://github.com/django-debug-toolbar/django-debug-toolbar

它可以让您查看给定页面生成的所有查询。以及它们发生的位置的堆栈跟踪等。

编辑:将所有SQL查询记录到文件等,然后您将要创建一些中间件。中间件在每个请求上运行。有几种Django片段供您使用:

  • http://djangosnippets.org/snippets/290/
  • http://djangosnippets.org/snippets/264/

那些与打印到终端有关,但要使其适应使用python的日志记录库并不难。



 类似资料:
  • 问题内容: 我想知道是否有一种方法可以完成: 通过使用和像这样: 我可以 使用 LIMIT和OFFSET 编写SQL语句,但仍然得到ALL结果吗? 当然我可以使用一条语句,但我尽可能避免使用它 问题答案: 从MySQL文档: 要检索从某个偏移量到结果集结尾的所有行,可以为第二个参数使用较大的数字。该语句检索从第96行到最后一行的所有行: 选择* FROM tbl LIMIT 95,18446744

  • 问题内容: 我可以在mysql数据库上打开审核日志记录吗? 我基本上想监视所有查询一个小时,并将日志转储到文件中。 问题答案: 使用–log选项启动mysql: 或在文件中放置以下内容: 任何一种都将所有查询记录到log_file_name。 您也可以使用选项代替来仅记录慢速查询。默认情况下,花费10秒或更长时间的查询被认为是缓慢的,您可以通过设置查询在记录之前必须执行的秒数来更改它。

  • 问题内容: 我在Elasticsearch中有一个小型数据库,出于测试目的,我想拉回所有记录。我正在尝试使用以下形式的网址… 有人可以给我您用来完成此操作的URL吗? 问题答案: 我认为支持lucene语法是这样的: 大小默认为10,因此您可能还需要获取10个以上的商品。(其中BIGNUMBER等于您认为大于数据集的数字) 但是,elasticsearch文档建议使用扫描搜索类型针对大型结果集。

  • 在Laravel 4中记录SQL查询已经有几个问题。但是我已经尝试了几乎所有的方法,但仍然没有达到我想要的效果。 这是我的情况 > 在我的php视图文件中,我向服务器发出AJAX请求 接收到AJAX请求并运行RAW参数化的PostgresSQL查询(例如: DB::选择('选择*从my_table其中id=?',数组(1)) 如果我用 我只得到“从我的_表中选择*,其中id=?”作为没有实际填充I

  • 问题内容: 关于在Laravel 4中记录SQL查询,已经有几个问题。但是我已经尝试了几乎所有问题,但仍然无法按照我想要的方式工作。 这是我的情况 在我的php视图文件中,我向服务器发出AJAX请求 接收到AJAX请求并运行RAW参数化的Postgres SQL查询(例如 DB :: select(’select * from my_table where id =?’,array(1)) 如果我