【发布时间】:2021-06-10 04:33:45
【问题描述】:
我的mysql 版本是8.0。我有一个InnoDB table 的数据超过10 million rows,而数据file size 是2G。
我每次都使用pd.to_sql 插入several thousand rows 的数据。启用index时,插入速度为very slow。
如何temporarily disableindex?并且插入完成后enable the index?
我尝试了How to disable index in innodb中的操作:
SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;
但索引是still 有效。
【问题讨论】:
-
如何暂时禁用索引? 不行。您可以删除索引并在插入完成后重新创建它。 PS。无论如何都必须存储主键(集群) - 如果您将其与另一个索引一起删除,则在重新创建期间将发生完整的表重写。
-
看来只有这个方法可行。
标签: python mysql pandas dataframe innodb