gpt4 book ai didi

mysql - 使用 MySQL INSERT IGNORE 防止重复条目(性能问题?)

转载 作者:行者123 更新时间:2023-11-29 16:16:41 29 4
gpt4 key购买 nike

我有一个保存传感器测量值的表。一行包含测量值、id(pk 和自动增量)和一个随机数 = num(大约 10 位数字长或什至更长)。

CREATE TABLE `table` (
`id` int(10) UNSIGNED NOT NULL,
`value` float NOT NULL,
`num` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

现在几周/几个月后,表可能包含成千上万行。

我的问题:我的系统要求随机数是唯一的(具有相同随机数的两个或多个测量/行是 Not Acceptable )。现在我已经做了一些研究,并且有了简洁的 INSERT IGNORE 语句。但我不确定在我的情况下使用它是否明智,因为一段时间后可能会有很多行,并检查表中所有行的随机数,以及它是否与必须新插入的行匹配一段时间后过度杀伤并严重影响性能?

有什么想法吗?

最佳答案

使用 INSERT IGNORE 命令而不是 INSERT 命令。如果一条记录与现有记录不重复,MySQL 将照常插入它。如果记录是重复的,那么 IGNORE 关键字会告诉 MySQL 默默地丢弃它,而不会产生错误。并且还在随机数列上使用唯一的 UNIQUE 约束。为了提高当您尝试从表中检索数据时的性能,请为其创建索引。

https://www.w3schools.com/sql/sql_create_index.asp

关于mysql - 使用 MySQL INSERT IGNORE 防止重复条目(性能问题?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54740687/

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