Why does MySQL produce dirty reading?

consult data:
1. MySQL transactions are isolated, and the intermediate state in the transaction process is not visible;
2. MySQL dirty reading means that a transaction is making changes to a record, and the data of this record is in an inconsistent state before the transaction is completed and committed. At this point, another transaction also reads the same record, and if uncontrolled, the second transaction reads these "dirty" data and makes further processing accordingly, resulting in uncommitted data dependencies.

the question is:
since transactions are isolated, how can you read "dirty" data that other transactions have not committed?

Mar.03,2021

this involves the level of isolation of things. The higher the isolation level, the better the integrity and consistency of the data, but the greater the impact on concurrency performance

                             
read-uncommitted                        
read-committed                        
repeatable-read                         
serializable                              

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1e97810-463a5.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1e97810-463a5.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?