mysql - 服务端开始累积查询,线程在信号量中等待已久
问题描述
在日志文件中有很多行(250 个线程),输入
Feb 28 16:11:57 - mysqld: --Thread 139956102706944 has waited at row0ins.cc line 1982 for 115.00 seconds the semaphore:
Feb 28 16:11:57 - mysqld: S-lock on RW-latch at 0x55865ee04de0 created in file dict0dict.cc line 920
Feb 28 16:11:57 - mysqld: a writer (thread id 139953379993344) has reserved it in mode wait exclusive
Feb 28 16:11:57 - mysqld: number of readers 4, waiters flag 1, lock_word: fffffffc
Feb 28 16:11:57 - mysqld: Last time write locked in file srv0srv.cc line 2029
Feb 28 16:11:57 - mysqld: --Thread 140022041876224 has waited at row0upd.cc line 181 for 275.00 seconds the semaphore:
Feb 28 16:11:57 - mysqld: S-lock on RW-latch at 0x55865ee04de0 created in file dict0dict.cc line 920
Feb 28 16:11:57 - mysqld: a writer (thread id 139953379993344) has reserved it in mode wait exclusive
Feb 28 16:11:57 - mysqld: number of readers 4, waiters flag 1, lock_word: fffffffc
Feb 28 16:11:57 - mysqld: Last time write locked in file srv0srv.cc line 2029
Feb 28 16:11:57 - mysqld: --Thread 139956075943680 has waited at row0ins.cc line 1982 for 524.00 seconds the semaphore:
Feb 28 16:11:57 - mysqld: S-lock on RW-latch at 0x55865ee04de0 created in file dict0dict.cc line 920
Feb 28 16:11:57 - mysqld: a writer (thread id 139953379993344) has reserved it in mode wait exclusive
Feb 28 16:11:57 - mysqld: number of readers 4, waiters flag 1, lock_word: fffffffc
Feb 28 16:11:57 - mysqld: Last time write locked in file srv0srv.cc line 2029
Feb 28 16:11:57 - mysqld: --Thread 139956085135104 has waited at row0undo.cc line 295 for 47.00 seconds the semaphore:
Feb 28 16:11:57 - mysqld: S-lock on RW-latch at 0x55865ee04de0 created in file dict0dict.cc line 920
Feb 28 16:11:57 - mysqld: a writer (thread id 139953379993344) has reserved it in mode wait exclusive
Feb 28 16:11:57 - mysqld: number of readers 4, waiters flag 1, lock_word: fffffffc
Feb 28 16:11:57 - mysqld: Last time write locked in file srv0srv.cc line 2029
Feb 28 16:11:57 - mysqld: --Thread 139953379993344 has waited at srv0srv.cc line 2029 for 556.00 seconds the semaphore:
Feb 28 16:11:57 - mysqld: X-lock (wait_ex) on RW-latch at 0x55865ee04de0 created in file dict0dict.cc line 920
Feb 28 16:11:57 - mysqld: a writer (thread id 139953379993344) has reserved it in mode wait exclusive
Feb 28 16:11:57 - mysqld: number of readers 4, waiters flag 1, lock_word: fffffffc
Feb 28 16:11:57 - mysqld: Last time write locked in file srv0srv.cc line 2029
innodb_adaptive_hash_index 已关闭。
版本:mysql Ver 15.1 Distrib 10.3.27-MariaDB,用于 debian-linux-gnu (x86_64) 使用 readline 5.2
我们在模式之间迁移了大量数据(6M 行 = 160GB),在迭代之间有暂停的小部分(500 行)可以改变什么,以便服务器在信号量中没有锁?
解决方案
推荐阅读
- javascript - 根据 React 中的特定内容渲染 Modal Content
- vuejs3 - Vue 3 -> 自定义 v-title 指令(将组件包装在其他组件中)
- java - 使用我的 DicomViewer 在 java 中启动新 Activity 导致 Android Studio 崩溃
- java - 使用通过jtable从mysql获取多个数据
- entity-framework-core - 用于 cosmos 查询的不区分大小写的 ORDER BY
- javascript - CODEIGNITER4:如何将值从 table_1 链接到我使用 SELECT OPTION 标记插入的 table_2
- reactjs - 调用同级函数和作用域
- github - 我无法将我的文件夹和文件上传到我在 GitHub 上的存储库
- javascript - 画布将元素对齐到网格
- mobile-safari - Adobe TypeKit webfoot 未在 iOS Safari 上显示