pka*_*mol 3 mysql foreign-key import
我已经开始将巨大的(~800GB 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)
Run Code Online (Sandbox Code Playgroud)
Aki*_*ina 11
命令
SET FOREIGN_KEY_CHECKS=0;
Run Code Online (Sandbox Code Playgroud)
设置会话范围内变量的值。因此,它仅影响当前会话,不会影响其他会话,无论是已经运行的会话还是稍后将启动的会话。
如果使用以下命令将新值指定为全局范围值
SET GLOBAL FOREIGN_KEY_CHECKS=0;
Run Code Online (Sandbox Code Playgroud)
然后将设置全局设置。它会影响当前会话和稍后启动的会话,并且不会影响已在运行的其他会话。
你可以在实践中看到它。