Waiting for table阻塞查詢的問題
今天看了一個案例,自己在備庫上做了一下。確實會引起很多問題。
1.一些慢SQL在執行
2.一個終端發出了flush tables命令
3.很多查詢都被阻塞了
假設有兩個慢SQL正在執行,這時發出的flush tables命令被阻塞,
但是後續的查詢重新開啟表,前提條件是所有的執行緒關閉表,但是慢SQL還在執行。
步驟1阻塞了步驟二,步驟二導致步驟三需要等待步驟一。
大概的情況就是這樣。
在主從讀寫分離的模式下,主庫使用Xtrabackup備份,中間會有一個flush tables with read lock。
如果這個被複制到了從庫,而不巧從庫還有慢SQL,那麼這個問題就很可能出現。
但是使用Xtrabackup備份是否複製flush tables,我還需要進一步實驗。
實驗如下:
終端一執行一個慢SQL
終端二也執行一個慢SQL
終端三執行flush tables,被兩個慢SQL阻塞
終端四的普通查詢被阻塞
終端五的普通查詢被阻塞
檢視上述終端的執行情況
參考:
http://blog.itpub.net/29254281/viewspace-1082297/
1.一些慢SQL在執行
2.一個終端發出了flush tables命令
3.很多查詢都被阻塞了
假設有兩個慢SQL正在執行,這時發出的flush tables命令被阻塞,
但是後續的查詢重新開啟表,前提條件是所有的執行緒關閉表,但是慢SQL還在執行。
步驟1阻塞了步驟二,步驟二導致步驟三需要等待步驟一。
- The thread got a notification that the underlying structure for a table has changed
- and it needs to reopen the table to get the new structure.
- However, to reopen the table,
- it must wait until all other threads have closed the table in question.
- This notification takes place if another thread has used FLUSH TABLES
- or one of the following statements on the table in question:
- FLUSH TABLES tbl_name, ALTER TABLE, RENAME TABLE, REPAIR TABLE, ANALYZE TABLE, orOPTIMIZE TABLE.
大概的情況就是這樣。
在主從讀寫分離的模式下,主庫使用Xtrabackup備份,中間會有一個flush tables with read lock。
如果這個被複制到了從庫,而不巧從庫還有慢SQL,那麼這個問題就很可能出現。
但是使用Xtrabackup備份是否複製flush tables,我還需要進一步實驗。
實驗如下:
終端一執行一個慢SQL
終端二也執行一個慢SQL
終端三執行flush tables,被兩個慢SQL阻塞
終端四的普通查詢被阻塞
終端五的普通查詢被阻塞
檢視上述終端的執行情況
參考:
http://blog.itpub.net/29254281/viewspace-1082297/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1157701/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【問題】 table 和column 查詢表定義
- DELETE TABLE資料後,查詢變慢,問題處理delete
- oracle session阻塞查詢OracleSession
- 查詢阻塞與被阻塞SQL語句SQL
- Oracle中查詢阻塞與被阻塞SID的方法Oracle
- Oracle阻塞會話查詢Oracle會話
- MySQL查詢阻塞語句MySql
- Oracle阻塞(鎖等待)查詢Oracle
- SQL Server阻塞查詢語句SQLServer
- RAC環境中的阻塞 查詢鎖
- 一個使用JDBC按Date查詢查詢的問題JDBC
- 分頁查詢的排序問題排序
- 模板中的名字查詢問題
- Hibernate的Criteria查詢問題。
- 批次查詢的翻頁問題
- sql 模糊查詢問題SQL
- Xilinx問題查詢
- 斷號查詢問題
- MySQL:Analyze table導致'waiting for table flush'MySqlAI
- create table if not exists Waiting for table metadata lockAI
- sqlserver查詢table,columns資訊SQLServer
- 使用 strace 查詢 Emacs 啟動阻塞的原因Mac
- Waiting for table metadata lockAI
- SQLServer DML操作阻塞SELECT查詢SQLServer
- row lock contention 阻塞程式查詢
- library cache lock 阻塞程式查詢
- library cache pin 阻塞程式查詢
- 一個MySQL多表查詢的問題MySql
- 分頁查詢的排序問題(二)排序
- 從trc查詢死鎖的問題
- 關於Hibernate的查詢問題
- Laravel5.7 查詢問題Laravel
- sphinx查詢過濾問題
- 批次分頁查詢問題?
- hibernate批量查詢問題
- sql 查詢條件問題SQL
- SQL查詢table或index異常增長問題 - space_usage (show_space)SQLIndex
- WTC連線阻塞的問題