【发布时间】:2013-05-16 08:41:18
【问题描述】:
我正在从大约 1.8GB 大的数据库中删除数据。 (通过 C# 应用程序)
在较小的数据库(~600MB)上运行相同的操作没有问题,但在我得到的大数据库上:
超过锁定等待超时;尝试重启事务。
innodb_lock_wait_timeout 会解决问题还是有其他方法?
我不认为优化查询是一种解决方案,因为没有办法让它们变得更简单。
我正在删除有关条件和关系的部分数据,而不是所有数据。
【问题讨论】:
-
考虑为您的删除调用添加适当的索引或确保您使用的是现有索引。
-
我也很好奇为什么这被标记为 C#。
-
你能把删除分批成更小的块吗?
-
这是我唯一的希望,但我在发帖之前检查了这个。 :( 它是用 C# 标记的,因为删除是在 C# 应用程序中运行的,它必须“清理”数据库,如果 C# 对 mysql 操作有一些内存限制,我很好奇?
-
您应该修改您的问题以包括 (1) 删除命令、(2) 带有索引的表架构以及 (3) 您打算使用该命令删除多少 1.8GB。跨度>
标签: c# mysql innodb delete-row corresponding-records