我有MariaDB和Windows服务访问此数据库。对于维护,我使用HeidiSQL。
我现在想在HeidiSQL中更新一个大表(8.000.000个条目(,方法是插入一个新的外键列,然后使用UPDATE
用值填充该列。我想大概需要30分钟。
在此期间,如果用户希望通过服务从该表中插入/读取/删除值,会发生什么?DB会阻止请求吗?我应该停止服务以避免数据损坏吗?
我自己做了一个例子。只要更改数据的操作仍在HeidiSQL中运行,数据库似乎就会使用旧值或状态进行响应。
我尝试过的:
-
我添加了一个新列。当添加过程仍在运行时向我的服务发送了一条已阅读的消息。它没有发送新列。操作一完成,新列也已发送。
-
我用值填充了新的FK列。当更新跑步时,我发了一条阅读信息。服务还了初始所有行的FK列(0(的值。手术后完成后,服务将发送所有新值。