首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL显示以前删除的数据

MySQL显示以前删除的数据
EN

Database Administration用户
提问于 2015-11-11 22:36:22
回答 1查看 943关注 0票数 0

我们在Azure上运行MySQL。我们有三个非常小的数据库。

主数据库为POI,保存了11条静态记录。白天,可以在1-2小时内添加和删除一些记录。

我们通常有5-10个移动用户每60秒对POI的所有11-15条记录进行投票。

每天都有几次,我们从SQL查询中得到一些损坏的数据。我们经常看到两个月前从数据库中删除的两条记录。

是什么使如此简单的数据库变得不可靠?

代码语言:javascript
复制
Server: eu-cdbr-azure-north-d.cloudapp.net via TCP/IP
Server type: MySQL
Server version: 5.5.45-log - MySQL Community Server (GPL)
Protocol version: 10
PHP extension: mysqli 
PHP version: 5.4.42

-编辑

我已将数据库更改为InnoDB。我还是拿到鬼数据了。

当我使用phpMyAdmin查看POI时,幽灵数据是不可见的。

我开始测量数据库连接时间,并意识到它们有时是1-5秒,所以当存储连接请求时,我很可能有并发请求。

我需要做一些特殊的技巧来处理并发性吗?长连接时间可能是由反向DNS查找引起的。我们现在就让它失效。

EN

回答 1

Database Administration用户

发布于 2015-12-03 07:10:10

“事务隔离模式”允许您查看数据,即使数据已被删除。有些模式有效地“捕捉所有数据的快照”,然后让您只看到该数据,直到您COMMIT

我怀疑这是不是造成你所看到的东西的原因。会很少见的。这将需要比合理时间更长的超时时间。你有没有从他们的默认值中更改过什么?

请注意,我还说您必须启动一个事务,并且在很长一段时间内没有完成它;另外,在中间的某个时候,一个DELETE发生在另一个连接上。

看看变量tx_isolationautocommit%timeout%。把它们展示给我们,然后勾勒出你的交易。

另一个答案是:在MySQL之外有一个缓存层,导致了这个问题。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/120818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档