當前位置:首頁 » 操作系統 » 狀態資料庫表

狀態資料庫表

發布時間: 2024-10-20 11:21:31

A. 怎麼知道資料庫表已經鎖表了

可直接在mysql命令行執行:show engine innodb statusG;

查看造成死鎖的sql語句,分析索引情況,然後優化sql然後show processlist;

show status like 『%lock%』

show OPEN TABLES where In_use > 0; 這個語句記錄當前鎖表狀態

另外可以打開慢查詢日誌,linux下打開需在my.cnf的[mysqld]裡面加上以下內容:

slow_query_log=TRUE(有些mysql版本是ON)

slow_query_log_file=/usr/local/mysql/slow_query_log.txt

long_query_time=3

select *from v$locked_object:可以獲得被鎖的對象的object_id及產生鎖的會話sid。通過查詢結果中的object_id,可以查詢到具體被鎖的對象。

(1)狀態資料庫表擴展閱讀:

注意事項

也可以直接把這幾個視圖和表關聯起來,在查詢結果中直接得到「alter system kill session 'sid, serial#'」這樣的方便的kill sessoin命令。

如果執行kill session命令後,鎖並沒有除掉,session依然存在。這種情況,通過select spid from v$process where addr in(select paddr from v$session where sid = &sid)查詢到oracle會話在伺服器上的pid,然後登陸到伺服器上,執行kill -9 pid這樣就能殺掉進程解鎖了。

B. 查詢mysql 哪些表正在被鎖狀態

可直接在mysql命令行執行:show engine innodb statusG;

查看造成死鎖的sql語句,分析索引情況,然後優化sql然後show processlist;

show status like 『%lock%』

show OPEN TABLES where In_use > 0; 這個語句記錄當前鎖表狀態

另外可以打開慢查詢日誌,linux下打開需在my.cnf的[mysqld]裡面加上以下內容:

slow_query_log=TRUE(有些mysql版本是ON)

slow_query_log_file=/usr/local/mysql/slow_query_log.txt

long_query_time=3

(2)狀態資料庫表擴展閱讀:

MySQL鎖定狀態查看命令

Checking table:正在檢查數據表(這是自動的)。

Closing tables:正在將表中修改的數據刷新到磁碟中,同時正在關閉已經用完的表。這是一個很快的操作,如果不是這樣的話,就應該確認磁碟空間是否已經滿了或者磁碟是否正處於重負中。

Connect Out:復制從伺服器正在連接主伺服器。

Copying to tmp table on disk:由於臨時結果集大於tmp_table_size,正在將臨時表從內存存儲轉為磁碟存儲以此節省內存。

Creating tmp table:正在創建臨時表以存放部分查詢結果。

deleting from main table:伺服器正在執行多表刪除中的第一部分,剛刪除第一個表。

熱點內容
編譯原理re不能描述的串 發布:2025-07-01 09:34:24 瀏覽:72
本地電腦怎麼用伺服器ip 發布:2025-07-01 09:10:03 瀏覽:829
有趣的python代碼 發布:2025-07-01 09:10:02 瀏覽:360
威龍奇兵ftp 發布:2025-07-01 09:07:38 瀏覽:693
linuxedit 發布:2025-07-01 09:03:36 瀏覽:423
跑分平台腳本 發布:2025-07-01 08:40:17 瀏覽:599
手機上的中文編程軟體 發布:2025-07-01 08:39:13 瀏覽:821
7z解壓縮linux 發布:2025-07-01 08:37:47 瀏覽:320
sybase資料庫字元集 發布:2025-07-01 08:37:03 瀏覽:348
php家教網 發布:2025-07-01 08:34:41 瀏覽:289