mysql学习笔记

阅读更多

mysql

1.并发读写和锁

 mysql并发控制,通过锁来解决。读锁是共享的,相互不阻塞,多个客户可以同一时刻读取同一个资源,但不可写,必须等待释放读锁后才能加写锁。而写锁是排他的,一个写锁会阻塞其他的写锁和读锁。mysql会通过锁定防止其他用户读取同一数据。所以,写会影响读取,所以读写分离很重要。

 锁分为表锁,行级锁。行级锁并发稿,锁开销大。

 

locktype类型:
WRITE  被锁定的数据表允许当前用户线程(发出LOCK命令的用户‘线程’)进行读和写,其他用户则不能进行读写修改操作。
READ   被锁定的数据表对全体用户线程可读,但不允许修改(包括发出LOCK命令的用户线程),
READ LOCAL   类似于READ锁定类型,但允许不影响现在数据记录的INSERT命令执行。
LOW PRIORITY WRITE

MyISAM存储引擎存在读阻塞,如用户在当前线程发出LOCK命令锁定A表,那么B表也会受到影响,但在其他线程B表则不被影响。

 

2.吞吐量:单位时间内的事务处理数。tps(每秒事务处理数字),tpm

 

3.并发性:在测试单位时间内同时的请求数,看其对吞吐量和响应时间的影响。

 

4.查询只能使用索引的最左前缀,知道遇到第一个范围条件列。

 

你可能感兴趣的:(mysql,学习笔记)