gpt4 book ai didi

mysql 索引键太多

转载 作者:行者123 更新时间:2023-11-29 22:13:49 25 4
gpt4 key购买 nike

我致力于数据库优化,其中每隔 15 分钟就会从 .csv 文件(大约 3800 条记录)进行批量插入。

为此,我通过 cron 运行 Mis.sql 文件。该文件包含九 (09) 个 mysql 查询,这些查询从批量插入的目标表中执行重复删除、内连接插入、删除和更新(ALTER、DELETE、INSERT 和 UPDATE)。

最近,在批量插入查询之前运行的查询遇到了问题。查询是 -

更改忽略表pb添加唯一索引(hn,时间);

错误 1069 (42000):指定的键太多;最多允许 64 个键

遇到上述错误时,将跳过所有后续查询。然后我检查了表pb,发现有64个使用相同基值创建的唯一索引键以及02个索引键和01个主键。

在尝试删除其中一个唯一索引时,花费了太多时间(979,618 条记录几乎需要 15 分钟),但最终它并未被删除。

这个问题有解决办法吗?

最佳答案

第一件事:为什么会有 ALTER TABLE 命令?新数据应该改变数据而不是数据库设计。因此,虽然 INSERT、UPDATE 和 DELETE 是此类脚本中的有效选项,但 ALTER TABLE 不属于该脚本。删除它。

至于删除索引:这只需要几分之一秒的时间。无需构建或重建任何内容,只需删除即可。

DROP INDEX index_name ON tbl_name;

我能想到的花费这么长时间的唯一原因是,甚至没有一个很短的时间片没有发生插入、更新和删除。因此,也许您必须暂时停止工作(或在空文件上运行它),删除所有不必要的索引(仅保留一个),然后重新开始工作。

关于mysql 索引键太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31377315/

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