我已经启动了一个巨大的(~800 to的sql )导入到一个mysql 5.5。
在某种程度上,我意识到当数据库被导入时,随着数据库大小的增加,进度开始放缓;
这是一个明确的暗示,外键检查的规模不断扩大,可能正在减缓这一进程;
我意识到我忘了禁用它们,我刚刚做到了(在导入过程中);
因此,我的问题是,具体的导入是否会从中受益,还是会继续执行FK检查(在导入初始化过程中)
mysql> show variables like 'fo%';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| foreign_key_checks | ON |
+--------------------+-------+
1 row in set (0.00 sec)
mysql> SET FOREIGN_KEY_CHECKS=0;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'fo%';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| foreign_key_checks | OFF |
+--------------------+-------+
1 row in set (0.00 sec)发布于 2018-10-16 09:14:34
命令
SET FOREIGN_KEY_CHECKS=0;设置会话范围中变量的值。因此,它只影响当前会话,而不影响其他会话,无论是已经运行的会话还是稍后将启动的会话。
如果使用以下命令将新值指定为全局范围值
SET GLOBAL FOREIGN_KEY_CHECKS=0;然后将设置全局设置。它影响当前会话和以后将启动的会话,而不影响已在运行的其他会话。
你可以在实践中看到它。
https://dba.stackexchange.com/questions/220192
复制相似问题