一、數據庫引擎
- innoDB
- MyISAM
二、定位低效率、優化SQL語句的手段
- 慢查詢日誌:日誌文件中查找
- show processlist:實時查看正在進行的慢SQL語句,包括線程的狀態、是否鎖表等
- show profiles:可以使用該命令分析SQL語句所經歷的耗時
- trace:使用trace可以查看SQL優化器的信息
- explain:該命令可以查出SQL語句在執行過程。比如是否使用了索引、執行順序、執行的條件等等。這個是分析SQL語句非常重要的手段
三、事務的隔離級別
1. 讀未提交(Read Uncommitted)
髒讀
2. 讀已提交(Read Committed)
不可重複讀
3. 可重複讀(Repeatable-Read)
innoDB引擎使用間隙鎖解決了幻讀問題
4. 串行化(Serializable)
三、鎖
3.1 行鎖
-
共享鎖(讀鎖、Shared Locks即S鎖)
-- 加鎖