Database 当我试图同时对一个表执行几个大操作(更新/读取)时,MariaDB会如何反应?
我有一个MariaDB和一个Windows服务访问这个数据库。对于维护,我使用HeidiSQL 现在我想在HeidiSQL中更新一个大表(8.000.000个条目),方法是插入一个新的外键列,然后使用Database 当我试图同时对一个表执行几个大操作(更新/读取)时,MariaDB会如何反应?,database,mariadb,heidisql,Database,Mariadb,Heidisql,我有一个MariaDB和一个Windows服务访问这个数据库。对于维护,我使用HeidiSQL 现在我想在HeidiSQL中更新一个大表(8.000.000个条目),方法是插入一个新的外键列,然后使用update用值填充该列。我想大概需要30分钟 在此期间,如果用户希望通过服务插入/读取/删除此表中的值,会发生什么情况?DB会阻止请求吗?我应该停止服务以避免数据损坏吗?我自己举了一个例子。只要更改数据的操作仍在HeidiSQL中运行,数据库似乎就会以旧值或状态响应 我尝试的是: 我增加了一个新
update
用值填充该列。我想大概需要30分钟
在此期间,如果用户希望通过服务插入/读取/删除此表中的值,会发生什么情况?DB会阻止请求吗?我应该停止服务以避免数据损坏吗?我自己举了一个例子。只要更改数据的操作仍在HeidiSQL中运行,数据库似乎就会以旧值或状态响应 我尝试的是:
- 我增加了一个新专栏。当添加过程仍在运行时,我 向我的服务发送了一条已读消息。它没有发出警告就作出了回应 新专栏。操作完成后,新列也已发送
- 我用值填充了新的FK列。在更新过程中 跑步时我发送了一条阅读信息。该服务返回了初始值 所有行的FK列(0)的值。手术结束后 完成后,服务将发送所有新值
更新进行分块可能会有所帮助:@RickJames,你的意思是分块时删除执行得更快?总体时间可能会较慢,但对其他内容的干扰可能会较少。此外,8M行可能会超时;分块可以防止这种情况。