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

如何限制SQL执行时间

罗学真
2023-03-14
问题内容

有些sql写得不好。有时,搜索需要花费数小时的申请时间。当一个应用程序(可能是一个网站)提交运行时间很长的查询时,我必须重新启动mysql。如何在数据库端限制sql查询的执行时间?


问题答案:

要在很长的执行时间后自动终止MySQL中的查询,请执行以下操作:

  1. 创建一个存储过程为:
    DECLARE CURSOR cur1 FOR SELECT ID 
                    FROM INFORMATION_SCHEMA.PROCESSLIST 
                    WHERE COMMAND = 'Query' AND TIME > 120;
    

然后在curosr的循环中执行以下操作:

    FETCH ID INTO @var_kill_id;
KILL QUERY @var_kill_id;
  1. 创建EVENT FOR EVERY 5 SECONDS,只是CALL里面的上述步骤。

注意:KILL
QUERY只是杀死查询,并且MySQL连接没有中断。看这里。



 类似资料:
  • 问题内容: 我想在docker容器中运行命令。如果该命令花费了3秒钟以上的时间,则应删除该容器。 我以为可以通过使用中的option 来实现此目标。 但是我的命令似乎出了点问题。 例如,命令创建一个持续3秒以上的Docker容器。第三秒后,容器不会停止或删除。 我是否误解了? 该文件说: 停止容器的超时时间(以秒为单位) 这是我的Docker版本: API版本比1.25更新。 问题答案: 该选项是

  • 问题内容: 我一直在寻找答案,但是没有明确的答案,因此希望有人知道。 与变量一起使用时,是否有字符数限制?我做了一些实验,似乎在加载变量然后调用时,对实际传递给服务器的内容有字符限制。当在没有变量的情况下调用而仅在其中构建字符串时,一切似乎都可以工作....是否有原因呢?返回的错误消息是: 名称’(在此处插入我的SQL语句变量的881个字符中的643个左右的字符)’不是有效的标识符 有人知道为什么

  • 在我们的应用程序中,我们有外部源来处理数据并将数据插入数据库,以及应用程序使用的相同数据库。因此,数据库超载。 为了避免这种情况,我们使用了两台服务器,一台用于处理数据,另一台用于应用程序。在第一台服务器中进行处理后,我们通过复制过程将数据移动到另一台服务器。 现在,我们想将整个设置移动到Azure SQL PaaS。截至目前,Azure PaaS中不可能进行复制。 请帮助我们解决这个问题。

  • 我们正在尝试设置SonarQube服务器(5.6),以便任何人都可以使用声纳扫描仪运行声纳分析,并将结果发布到SonarQube。然而,我们希望限制用户只发布特定项目密钥的分析,以防止弄乱现有的项目历史记录。 我们在权限设置上玩了很久。让我们假设我们有一个项目密钥,一个组,一个组,一个组。所有的分析都是在用户是某个组织的成员的情况下发布的。除了执行分析,我们试图添加和删除它之外,某些组被授予了某些

  • 问题内容: 关于PHP中的函数,我有两个问题: 睡眠时间是否会影响我的PHP脚本的最大执行时间限制?有时,PHP显示消息“超过30秒的最大执行时间”。如果我使用此消息会出现吗? 使用该功能有没有风险?它会消耗很多CPU性能吗? 问题答案: 您应该尝试一下,只需让脚本hibernate超过您的最大执行时间即可。 Spoiler:在Linux下,睡眠时间被忽略,但是在Windows下,它计为执行时间。

  • 若要让儿童使用PS Vita,监护人可依个人需要限制可播放的内容或可使用的功能。 此外,PlayStation®Network也准备了在主账号看管下,一定年龄以下的用户可使用的子账号。 详情请参阅「创建PlayStation®Network账号」。 可执行的操作 内容 如何设定限制 限制启动设有年龄限制的应用程序或视频影像等内容 除了[关]以外另有11个等级可设定。根据PS Vita内设定的等级,