MySQL面試題之死鎖

2022-03-22 05:05:09 字數 349 閱讀 1163

什麼是死鎖?鎖等待?如何優化這類問題?通過資料庫哪些表可以監控?

死鎖是指兩個或多個事務在同一資源上互相占用,並請求加鎖時,而導致的惡性迴圈現象。當多個事務以不同順序試圖加鎖同一資源時,就會產生死鎖。

鎖等待:mysql資料庫中,不同session在更新同行資料中,會出現鎖等待

重要的三張鎖的監控表innodb_trx,innodb_locks,innodb_lock_waits

如何優化鎖:

1、盡可能讓所有的資料檢索都通過索引來完成,從而避免innodb因為無法通過索引鍵加鎖而公升級為表級鎖定

2、合理設計索引。不經常使用的列最好不加鎖

3、盡可能減少基於範圍的資料檢索過濾條件

mysql 不用怕面試題 MySQL 面試題

資料庫事務的四個特性及含義原子性 atomicity 一致性 correspondence 隔離性 isolation 永續性 durability 原子性 整個事務中的所有操作,要麼全部完成,要麼全部不完成。事務在執行過程中發生錯誤,會被回滾 rollback 到事務開始前的狀態,就像這個事務從來...

mysql資料結構面試題 MySQL 面試題

mysql 的一些面試題,有的是平時聊到的,有的是聽別人說的,有的是工作中遇到的,特此彙總一下,有問有答。一條 sql 查詢語句執行流程?1 聯結器。客戶端和伺服器 tcp 握手後,驗證使用者名稱密碼。使用者名稱密碼通過後,聯結器會到許可權表中查詢你擁有的許可權。之後這個連線裡面的許可權判斷邏輯,都...

MySQL面試題 經驗

1 引數檔案 my.cnf 2 日誌檔案,包括錯誤日誌 查詢日誌 慢查詢日誌 二進位制日誌 3 mysql表檔案 用來存放 mysql 表結構的檔案,一般以 frm 為字尾 4 socket檔案 當用 unix 域套接字方式進行連線時需要的檔案 5 pid檔案 mysql 例項的程序 id檔案 6 ...