[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/WinterQXD/JavaGuide/master/docs/database/MySQL.md [Back]  [Original]

[](#)JavaJava

- [](#)
- [](#)
- [](#)
- [](#)
    - [MySQL?](#mysql)
    - [](#)
        - [](#)
        - [MyISAMInnoDB](#myisaminnodb)
    - [](#)
    - [](#)
    - [](#)
    - [?](#)
    - [(ACID)](#acid)
    - [?](#)
    - [?MySQL?](#mysql)
    - [InnoDB](#innodb)
    - [](#)
        - [1. ](#1-)
        - [2. /](#2-)
        - [3. ](#3-)
        - [4. ](#4-)
    - [SQLMySQL](#sqlmysql)
    - [MySQL](#mysql)
    - [SQL](#sql)


## 

- SQL2 
- MySQL : 3 ()

## 

- [SQL Tutorial](https://www.w3schools.com/sql/default.asp) SQL,[SQL Tutorial](https://www.w3school.com.cn/sql/index.asp)SQL,[SQL](https://www.w3schools.com/sql/exercise.asp) 
- [Github-MySQLMySQL tutorial book](https://github.com/jaywcjlove/mysql-tutorial) MySQLMySQL
- [](https://dev.mysql.com/doc/refman/5.7/)
- [MySQL ](http://www.runoob.com/MySQL/MySQL-tutorial.html)

## 

- [5mysql](https://github.com/kakuilan/china_area_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)

## 

### MySQL?

MySQL Java MySQL  MySQLMySQL GPL(General Public License) MySQL**3306**

### 

#### 

**MySQL**

```sql
mysql> show engines;
```

![MySQL](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/mysql-engines.png)

 MySQL InnoDB,5.7 InnoDB  InnoDB 

**MySQL**



```sql
mysql> show variables like '%storage_engine%';
```

****

```sql
show table status like "table_name" ;
```

![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/.png)

#### MyISAMInnoDB

MyISAMMySQL5.5MyISAM5.5MySQLInnoDBMySQL 5.5InnoDB

 InnoDB  MyISAM  MyISAM 

****

1. **** : MyISAM (table-level locking)InnoDB (row-level locking),
2. ** MyISAM** ,InnoDB**InnoDB**  (commit)(rollback)(crash recovery capabilities)(transaction-safe (ACID compliant))
3. **** MyISAMInnoDB
4. **MVCC**  InnoDB , MVCC;MVCC `READ COMMITTED`  `REPEATABLE READ` ;MVCC (optimistic)  (pessimistic);MVCC[MySQL-InnoDB-MVCC](https://segmentfault.com/a/1190000012650596)
5. ......

MySQL:

> MyISAMInnoDBInnoDBMyISAM

 InnoDB MyISAM

### 

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**

### 

> MySQL 8.0 

my.cnfMySQL
```properties
query_cache_type=1
query_cache_size=600000
```

MySQL

```properties
set global  query_cache_type=1;
set global  query_cache_size=600000;
```
****MySQL

MySQL

**** MB**sql_cachesql_no_cache**
```sql
select sql_no_cache count(*) from usr;
```

### ?

****

100010001000

### (ACID)

![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/.png)

1. **Atomicity** 
2. **Consistency** 
3. **Isolation** 
4. **Durability** 

### ?



- **Dirty read:** 
- **Lost to modify:** 	1A=202A=201A=A-12A=A-1A=191
- **Unrepeatableread:** 
- **Phantom read:** T1T2T1

****



### ?MySQL?

**SQL **

- **READ-UNCOMMITTED()** ****
- **READ-COMMITTED()** ****
- **REPEATABLE-READ()**  ****
- **SERIALIZABLE()** ACID****

------

|          |  |  |  |
| :--------------: | :--: | :--------: | :----: |
| READ-UNCOMMITTED |     |           |       |
|  READ-COMMITTED  |     |           |       |
| REPEATABLE-READ  |     |           |       |
|   SERIALIZABLE   |     |           |       |

MySQL InnoDB  **REPEATABLE-READ**`SELECT @@tx_isolation;`

```sql
mysql> SELECT @@tx_isolation;
+-----------------+
| @@tx_isolation  |
+-----------------+
| REPEATABLE-READ |
+-----------------+
```

 SQL  InnoDB  **REPEATABLE-READ** 
Next-Key Lock ( SQL Server)
InnoDB  **REPEATABLE-READ** 
 SQL **SERIALIZABLE()**  **READ-COMMITTED()** InnoDB  **REPEAaTABLE-READ** 

InnoDB  ****  **SERIALIZABLE()** 

### InnoDB

**MyISAMInnoDB**

- MyISAM(table-level locking)
- InnoDB(row-level locking),

****

- **** MySQL **** MyISAM InnoDB
- **** MySQL ****   

 MySQL[https://blog.csdn.net/qq_34337272/article/details/80611486](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. 

 **** 

 **** 
 ![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/.png)

- **** BlockI/O
- **** JoinJoin

#### 4. 

** ** 

 200

![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/.png)

MySQL **** 

 **** ****  JoinJava **** I/O

****

- ****  **jarJDBC**  **Sharding-JDBC** TDDL
- **** ****  **Mycat** 360AtlasDDB

 MySQL: [https://segmentfault.com/a/1190000006158186](https://segmentfault.com/a/1190000006158186)

### ??

javajdbcredisjava[](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485679&idx=1&sn=57dbca8c9ad49e1f3968ecff04a4f735&chksm=cea24724f9d5ce3212292fac291234a760c99c0960b5430d714269efe33554730b5f71208582&token=1141994790&lang=zh_CN#rd)

 socket  ****

### ,id 

 1  id 

 id 

- **UUID**
- ** id** : ID id 
- ** redis  id :** 
- **Twittersnowflake** Github https://github.com/twitter-archive/snowflake
- **[Leaf](https://tech.meituan.com/2017/04/21/mt-leaf.html)ID** Leaf IDZookeeperhttps://tech.meituan.com/2017/04/21/mt-leaf.html 
- ......

### SQLMySQL

[SQLMySQL]()

### MySQL

[MySQL]()

### SQL

[SQL---](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485185&idx=1&sn=66ef08b4ab6af5757792223a83fc0d45&chksm=cea248caf9d5c1dc72ec8a281ec16aa3ec3e8066dbb252e27362438a26c33fbe842b0e0adf47&token=79317275&lang=zh_CN#rd)

## 



**Java:** JavaV2.0 PDF [](#) **"Java"** 

**Java:** Java **1**  

![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/167598cd2e17b8ec.png)

Web Proxy Viewer  |  New URL  |  Original Page