MySQL性能优化

慢查询

通过监控发现了一些慢查询日志如下:

时间上已经超出了期望,这些查询动作主要发生在模糊查询和分页查询的时候。

首先这个耗时比较长的为select *,整个表的数据大概在5000左右。

explain一下表:

explain SELECT * FROM `game_video` ORDER BY update_time DESC LIMIT 5000,10;

结果如下:

type=all,基本就是全表都查询了,以后数据多了将会是噩梦。

下面解释一下这几个字段的意思:

select_type

SIMPLE 最简单的select,其他的还有UNI......

高性能MySQL

一、基础介绍

连接管理 每个客户端连接在fu服务器中拥有一个线程,这个连接的查询只会在单个线程执行。

锁机制 数据库有表锁、行锁两种粒度

事务

原子性

要么全部提交成功、要么全部失败回滚

一致性

数据库总是从一个一致性状态切换到另一个一致性状态,比如刚开始100块钱,最后还是100块钱。

隔离性

一个事务在最终提交前对其他事务是不可见的

持久性

一个事务提交成功,就会持久化到数据库。

隔离级别

未提交读

事务中的修改没有提交、对其他事务依然是可见的。事务可以读取未提交的数据,称为脏读

提交读(不可重复读)

......