通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

线程长时间处于killed状态怎么办

如果一个线程被标记为kill或query end,并且 InnoDB 引擎状态报告同一线程的回滚,请等待它结束。它可能与从磁盘中删除一些临时表有关。一个ALTER TABLE可能需要丢弃非常大的临时表,而某些文件系统(例如ext3或ext4)删除大文件可能相当慢。

一、线程长时间处于killed状态怎么办

如果一个线程被标记为kill或query end,并且 InnoDB 引擎状态报告同一线程的回滚,请等待它结束。它可能与从磁盘中删除一些临时表有关。一个ALTER TABLE可能需要丢弃非常大的临时表,而某些文件系统(例如ext3或ext4)删除大文件可能相当慢。

因此可能需要几秒钟甚至更长的时间。任何 DML 语句也可以创建临时表,但通常不会那么大。

在最极端的情况下,删除文件也不会超过十或二十秒,但在 I/O 负载较重的情况下,它可能会更长,所以有什么方法可以查看是否有临时表是否被创造?在Percona Server或MariaDB中,您检查INFORMATION_SCHEMA.GLOBAL_TEMPORARY_TABLE和INFORMATION_SCHEMA.TEMPORARY_TABLE的内容。它仅适用于使用CREATE TEMPORARY TABLE语句手动建立的临时表,不适用于 MySQL 隐式创建的执行复杂查询时的临时表。

延伸阅读:

二、行式数据库与列式数据库应用场景

行式更适合OLTP,比如传统的基于增删改查操作的应用。列式更适合OLAP,非常适合于在数据仓库领域发挥作用,比如数据分析、海量存储和商业智能;涉及不经常更新的数据。

由于设计上的不同,列式数据库在并行查询处理和压缩上更有优势。而且数据是以列为单元存储,完全不用考虑数据建模或者说建模更简单了。要查询计算哪些列上的数据,直接读取列就行。

最后我们需要务实的指出,没有使用广泛的数据库,列式数据库也并非使用广泛,只不过给DBA提供了更多的选择,DBA需根据自己的应用场景自行选择。

相关文章