Home >Database >Mysql Tutorial >Common database classification methods
Common database classification methods
With the continuous development of the Internet, enterprises can use Methods are also increasing, and today we will take a look at what are the common data classification methods.
1, Read Uncommitted.
refers to one transaction reading content that another transaction has not yet submitted. This situation must be avoided. Because uncommitted data from other transactions may be rolled back at any time, programs should not be allowed to read uncommitted data from a transaction at any time. If uncommitted data from another transaction is read, this situation is called a dirty read. To solve the problem of dirty reads, you can increase the transaction isolation level of the database and set the transaction isolation level to read committed.
2, Read Committed.
This isolation level can solve the problem of dirty reading.
Under this isolation level, parallel execution between two uncommitted transactions is not allowed, but it allows another transaction to be executed and submitted during the execution of one transaction. In this way, there will be a situation where the values of a certain row of data selected twice before and after a transaction may be different. The reason for the value change is that the interspersed transaction 2 performed an update operation on the row of data. In the same transaction, the problem of different values selected twice is called a non-repeatable read problem. To solve the non-repeatable read problem, you need to set the isolation level of the data to repeatable read.
3, can be read repeatedly. Repeatable Read.
Under this isolation level, the problem of non-repeatable reads can be solved.
Under this isolation level, while a transaction is using the data of a certain row, other transactions are not allowed to operate on the data of the row. Repeatable reads should add locks to database rows. Under this isolation level, other transactions are still allowed to insert and delete data in the table, so it will appear that during the execution of transaction 1, if rows that meet a certain condition are selected twice, if between these two After the second select, another transaction is executed. If certain rows are inserted or deleted, the results of the two selects that meet the same conditions will be different. One select seems to be an illusion. Therefore, this problem has also been solved. Become a phantom reader. To solve the phantom read problem, you need to set the isolation level of the database to serialization.
4, Serialization.
Serialization can solve the problem of phantom reading.
It requires that the execution of transactions is completely serialized. So the efficiency of concurrency is lost.
The default isolation level of Mysql is repeatable read.
In short, the transaction isolation level of data is divided into 4 types, from low to high, they are read uncommitted, read committed, repeatable read, and serialized. There are three issues related to the database transaction isolation level, namely dirty reads, non-repeatable reads, and phantom reads. The dirty read problem needs to be solved by read committed, but read committed will cause non-repeatable read problems. The non-repeatable read problem needs to be solved with repeatable read, but repeatable read will cause phantom read problem. The phantom read problem needs to be solved with serialization.
Recommended "mysql video tutorial"
The above is the detailed content of Common database classification methods. For more information, please follow other related articles on the PHP Chinese website!