1. 程式人生 > >mysql事務及慢查詢

mysql事務及慢查詢

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事務及慢查詢