千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:杭州千锋IT培训  >  技术干货  >  线程长时间处于killed状态怎么办?

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

来源:千锋教育
发布人:xqq
时间: 2023-10-18 04:43:26

一、线程长时间处于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需根据自己的应用场景自行选择。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

tomcat 与nginx,apache的区别是什么?

2023-10-18

什么是编译器,什么是集成开发环境?

2023-10-18

什么是补码?

2023-10-18

最新文章NEW

公有云、私有云与混合云有什么区别?

2023-10-18

Call Stack(调用栈)是什么?

2023-10-18

ppt里面的视频为什么播放不了?

2023-10-18

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>