JavaJavaStar[https://github.com/Snailclimb/Java_Guide](https://github.com/Snailclimb/Java_Guide)
> ##
**MySQL : 3**
> ##
[MySQL ](http://www.runoob.com/mysql/mysql-tutorial.html)
[MySQL](https://www.yiibai.com/mysql/)
> ##
**** [MySQL-](https://www.imooc.com/learn/122)
**Mysql** [MySQL](https://www.imooc.com/learn/398)[MySQL](https://www.imooc.com/learn/427)[MySQL](https://www.imooc.com/learn/449)
**Mysql5.7** [MySQL5.7](https://www.imooc.com/learn/533)[MySQL](https://www.imooc.com/learn/194)
[MySQLPXC](https://www.imooc.com/learn/993)[MyCAT](https://www.imooc.com/learn/951)
> ##
- ###
[MySQLMyISAMInnoDB](https://juejin.im/post/5b1685bef265da6e5c3c1c34)
- ###
Mysql
Mysql PSJava
[MySQL](https://www.cnblogs.com/geaozhang/p/6724393.html#mysqlyuzifuji)
- ###
Mysql**BTree** **** BTree
MysqlBTreeBB+Tree
**MyISAM:** B+TreedataB+TreeKey data data
**InnoDB:** MyISAMB+TreedatakeyInnoDBdataMyISAM**key** **** PSJava
[mysql](https://www.jianshu.com/p/1775b4ff123a)
[MySQL--](https://blog.csdn.net/Jack__Frost/article/details/72571540)
[](https://juejin.im/post/5b55b842f265da0f9e589e79#comment)
- ###
my.cnfMysql
```
query_cache_type=1
query_cache_size=600000
```
Mysql
```
set global query_cache_type=1;
set global query_cache_size=600000;
```
****Mysql
Mysql
**** MB**sql_cachesql_no_cache**
```
select sql_no_cache count(*) from usr;
```
- ###
**ACID**

1. ****
2. ****
3. ****
4. ****
****
- **READ_UNCOMMITTED:** ****
- **READ_COMMITTED:** ****
- **REPEATABLE_READ:** ****
- **SERIALIZABLE:** ACID****
**Mysql REPEATABLE_READ Oracle READ_COMMITTED.**
MVCC
[Spring](https://blog.csdn.net/qq_34337272/article/details/80394121)
- ### InnoDB
**MyISAMInnoDB**
- MyISAM(table-level locking)
- InnoDB(row-level locking),
****
- **** Mysql **** MyISAM InnoDB
- **** Mysql ****
[Mysql](https://blog.csdn.net/qq_34337272/article/details/80611486)
**InnoDB**
- Record lock
- Gap lock
- Next-key lockrecord+gap
****
1. innodbnext-key lock
2. Next-locking keyingPhantom Problem
3. next-key lockrecord key
4. Gap
5. gaprecord lock A. RC B. innodb_locks_unsafe_for_binlog1
- ###
MySQLCRUD
1. ****
2. **/**
3 . ****
****
****

**** BlockI/O
**** JoinJoin
4. ****
** **
200

:MySQL ****
**** **** JoinJava **** I/O
****
- **** **jarJDBC** **Sharding-JDBC** TDDL
- **** **** **Mycat** 360AtlasDDB
[MySQL](https://segmentfault.com/a/1190000006158186)