1showprocesslist;showprocesslist顯示哪些線程正在運行.您也可以使用removingduplicates正在執行一個selectdistinct方式的查詢,但是mysql無法在前。
- 情感問答
- 答案列表
mysql 鎖表查詢:mysql查詢鎖表語句[朗讀]
這牽涉到mysql的事務,簡單通俗的話,就這樣給你解釋有一個任務序列控制sql語句的執行,第一次有select的語句查詢表a,mysql伺服器在執行select之前將表a加讀鎖,第二次又有一條select語句查詢表a,mysql伺服器發現在任務序列中有表a的讀鎖,也就是同時還有一個sql查詢表a,讀鎖不會影響這條sql語句,當有一條update或者insert語句對表a操作時,mysql伺服器會對表a加寫鎖,以此提示之後的對表a操作的sql語句等待寫鎖解鎖後在執行,以免造成寫入與讀取的混亂。
用navicate工具可以輕鬆查看裡面lock的就是被鎖的。
查詢肯定會加讀鎖,對千萬量級別的場景,考慮主從多個資料庫架構環境吧。
方法/步驟使用終端或命令提示符登錄到mysql,輸入命令:mysql-hxxxx.xxx.xxx-p3306-uusername-ppassword在mysql客戶端下輸入命令:showengineinnodbstatus\g;在列印出來的信息中找到「latestdetecteddeadlock」一節內容分析其中的內容,我們就可以知道最近導致死鎖的事務有哪些。