我的个人网站已上线,在上面可以获得更好的分类阅读体验,欢迎访问。不知道大家有没有想过下面这件事?我们平时调用DELETE在MySQL中删除的数据都去哪儿了?这还用问吗?当然是被删除了啊那么这里又有个新的问题了,如果在InnoDB下,多事务并发的情况下,如果事务A删除了id=1的数据,同时事务B又去读取id=1的数据,如果这条数据真的被删除了,那MVCC拿啥数据返回给用户呢?没错,这就需要了解一下MySQL的多版本并发的原理相关的东西,感兴趣的可以去看我之前写的这篇文章。所以,实际情况中,调用了DELETE语句删除的数据并不会真正的被物理删除,这条数据其实还在那,只不过被打上了一个标记,标记已删