1.死锁示例:(对于事务型系统,死锁是不可避免的,应用程序在设计时应考虑如何处理死锁,大多数情况下只需重新执行因死锁回滚的事务)
2.事务日志:事务先修改内存中的数据,并将对数据修改的记录存放到磁盘中的日志中,在随后的时间里,根据日志再将内存中的数据写回到磁盘中,永久保存。
3.show table status like 'user' \G 查看表的相关信息;
4.mysql myisam引擎不支持事务机制但读操作较快,表锁级别,所以在跑脚本更新数据时,等通知DBA,让其观察数据库表的状态,避免因死锁导致的事故;innodb支持事务机 制,行锁级别写锁定时能否读出数据?(写锁是排他锁,默认情况下是不能读出数据的)
5.MYSQL中提供了一个计算表达式性能的函数BENCHMARK BENCHMARK(count,expr) BENCHMARK会重复计算expr表达式count次,通过这种方式就可以评估出mysql执行 这个expr表达式的效率。这个函数的返回值始终是0,但可以根据客户端提示的执行时间来得到BENCHMARK总共执行的所消耗的时间,BENCHMARK函数只能测量数字表达 式(scalar expression)的性能,虽然说表达式可以是一个子查询,但子查询返回的只能是单个值。在BENCHMARK(10, (SELECT * FROM t)) 这个语句中,如果t表有多列或 是 t表中记录多于1行的话这个函数就会执行失败
6.sysbench基准测试 测试cpu fileio oltp 模拟事务系统的测试性能:完成某件任务的时间度量,即响应时间,响应时间又分为执行时间和等待时间
7.查看一条sql更精确的执行时间
set profiling = 1;
select * from xxxxx;//sql
show profiles;
SHOW PROFILE FOR QUERY 1;//查看每一步的执行时间
8.show status;慢查询日志;?