1,
在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务
l 原子性:构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行。
l 稳定性(一致性):数据库在事务执行前后状态都必须是稳定的。
l 隔离性:事务之间不会相互影响。
l 可靠性(持久性):事务执行成功后必须全部写入磁盘。
读未提交 读已提交 重复读 串行化
脏读:指一个线程中的事务读取到了另外一个线程中未提交的数据。
不可重复读(虚读):指一个线程中的事务读取到了另外一个线程中提交的update的数据。
幻读:指一个线程中的事务读取到了另外一个线程中提交的insert的数据。
事务 数据一致性
2,慢查询
mysql 默认链接100 druid连接池 带有慢sql
修改/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执行所耗费的时间等