gpt4 book ai didi

mysql - 我可以阻止 MySQL 索引特定值吗?

转载 作者:行者123 更新时间:2023-11-30 22:16:45 25 4
gpt4 key购买 nike

假设我有一个这样的 MySQL (InnoDB) 表

CREATE TABLE Item (id INT, ..., score INT, INDEX (score));

由于应用程序逻辑,一切都从 1 开始,不久之后每个 Item 将获得不同的分数(此后碰撞相对较少,因此非 1 值的索引应该相当平衡)。

这是一个写频繁的表。我担心随着数据库的扩展,索引会受到冲击,特别是带有 score=1 的项目桶。 .我不了解碎片化和集群的全部含义,并且在我们实际扩展硬件之前我无法正确测试它。

有没有办法告诉 MySQL 不要将任何记录插入到这个给定特殊值的索引中?

从来没有任何关于 WHERE score=1 的查询,“最难”的所需查询将是 SELECT ... WHERE score>lower_limit ORDER BY score .

最佳答案

您想使用 Filtered Indexes or Partial Indexes .遗憾there's no such an option in MySQL .

如果我必须这样做,我会创建一个名为 Item_score 的第二个表,其中有一个关于分数的索引,并且只包含值高于 1 的项目。

关于mysql - 我可以阻止 MySQL 索引特定值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37993069/

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