gpt4 book ai didi

MySQL,加载数据并发本地,禁用和启用键

转载 作者:行者123 更新时间:2023-11-29 14:05:15 25 4
gpt4 key购买 nike

我目前使用 MyISAM 引擎将数据插入表中,

我希望优化LOAD DATA通过在 LOAD DATA 完成后构建索引(事先禁用 key 并在完成后启用它们)。

来自 LOAD DATA CONCURRENT文档中,加载数据应该将记录添加到表的末尾,同时我感兴趣的是对同一个表的并发读取将继续使用键。我保证读取操作将尝试仅从表中读取信息,直到LOAD DATA CONCURRENT 之前的最后一个可用索引(自动递增 id)开始。

例如

LOAD DATA CONCURRENT将从索引 100000 开始添加数据,并自动递增索引直到 200000。

同时SELECT * FROM TableName WHERE id <=99999 AND ...可能会发生语句。

是否可以仅在本地禁用 LOAD DATA CONCURRENT 的按键语句,这样读操作仍然会使用其 SELECT 中定义的索引声明?

最佳答案

我假设 1. 您的 id 列是主键,并且 2. 您计划使用 ALTER TABLE ... DISABLE KEYS

根据the manual :

ALTER TABLE ... DISABLE KEYS tells MySQL to stop updating nonunique indexes. (...) While the nonunique indexes are disabled, they are ignored for statements such as SELECT and EXPLAIN that otherwise would use them.

因此,主键仍将用于该表单的查询

SELECT * FROM TableName WHERE id <=99999

但是,不可能仅禁用表子集上的键。

关于MySQL,加载数据并发本地,禁用和启用键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14475973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com