如何在 mysql 中禁用 innodb 中的索引

How to disable index in innodb in mysql

我的 mysql 版本是 8.0。我有一个 InnoDB table 超过 10 million rows 的数据,数据 file size2G.

我每次都使用pd.to_sql插入several thousand rows的数据。启用index时,插入速度为very slow.

如何temporarily disable index?而插入完成后,enable the index?

我试过How to disable index in innodb中的操作:

SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;

但索引 still 有效。

  1. 删除索引
  2. 插入您的数据
  3. 创建索引

不,还有其他问题。

请详细说明涉及的代码。在 1000 万行中插入几千行 table 不会从重建索引的高成本中获益。

请提供 SHOW CREATE TABLE 以便我们查看索引。 UNIQUE 索引的处理方式不同。 FOREIGN KEYs 增加开销。批处理行有很大帮助,但 10K 行处于高效的高端。 PRIMARY KEY 是什么?行是否以任何 predictable 顺序插入?