mysql如何查詢表數據,查詢mysql哪些表正在被鎖狀態?
1.查看表是否被鎖:
(1)直接在mysql命令行執行:show engine innodb statusG。
(2)查看造成死鎖的sql語句,分析索引情況,然后優化sql。
(3)然后show processlist,查看造成死鎖占用時間長的sql語句。
(4)show status like ‘%lock%。 2.查看表被鎖狀態和結束死鎖步驟:
(1)查看表被鎖狀態:show OPEN TABLES where In_use > 0; 這個語句記錄當前鎖表狀態 。
(2)查詢進程:show processlist查詢表被鎖進程;查詢到相應進程killid。
(3)分析鎖表的SQL:分析相應SQL,給表加索引,常用字段加索引,表關聯字段加索引。
(4)查看正在鎖的事物:SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS。
(5)查看等待鎖的事物:SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS。