【问题标题】:Stop SQL query in python在python中停止SQL查询
【发布时间】:2010-08-07 17:13:54
【问题描述】:

如果需要很长时间,有没有办法让用户在 python 中停止执行 sql 查询?我正在考虑使用带有取消按钮的进度条,但我想知道是否有办法以干净的方式停止它而不是突然杀死相关的线程? (我同时使用 pysqlite2 和 MySQLdb 包)

【问题讨论】:

  • 我认为你最好解决为什么查询需要这么长时间
  • @OMG_Ponies:通常查询不会花费太多时间,但例如,我有一个耗时超过 100 秒的查询,其中涉及大约一百万行的排序和分组。跨度>

标签: python sql


【解决方案1】:

我看到的唯一解决方案是获取进程 ID:

SHOW PROCESSLIST;

杀死它:

KILL <thread_id>;

我会用 mysqldb 执行这些命令。

但是,您应该小心回滚。参见例如: If I stop a long running query, does it rollback?

希望对你有帮助

【讨论】:

  • 这是否被认为是终止查询的“干净”方式?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 2013-10-12
  • 1970-01-01
  • 2021-01-15
  • 1970-01-01
  • 2014-10-26
相关资源
最近更新 更多