mysql事務及慢查詢
阿新 • • 發佈:2019-04-03
clas tro consola 包括 可靠性 原因 mil var font
1,
在 MySQL 中只有使用了 Innodb 數據庫引擎的數據庫或表才支持事務
l 原子性:構成事務的的所有操作必須是一個邏輯單元,要麽全部執行,要麽全部不執行。
l 穩定性(一致性):數據庫在事務執行前後狀態都必須是穩定的。
l 隔離性:事務之間不會相互影響。
l 可靠性(持久性):事務執行成功後必須全部寫入磁盤。
讀未提交 讀已提交 重復讀 串行化
臟讀:指一個線程中的事務讀取到了另外一個線程中未提交的數據。
不可重復讀(虛讀):指一個線程中的事務讀取到了另外一個線程中提交的update的數據。
幻讀:指一個線程中的事務讀取到了另外一個線程中提交的insert的數據。
2,慢查詢
修改/etc/my.cnf配置文件,重啟 MySQL, 這種永久生效.
[mysqld]
slow_query_log = ON 開啟慢查詢日誌
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1 大於1秒的記錄下來
3,慢查詢分析工具
MySQL自帶的mysqldumpslow
mysqlsla工具,功能非常強大。數據報表,非常有利於分析慢查詢的原因,包括執行頻率,數據量,查詢消耗等
percona-toolkit
4,mysql性能分析
show profile
可以定位出一條SQL語句執行的各種資源消耗情況,比如CPU,IO等,以及該SQL執行所耗費的時間等
mysql事務及慢查詢