gpt4 book ai didi

SQL 索引 - 这是重叠的吗?

转载 作者:行者123 更新时间:2023-12-04 19:27:50 30 4
gpt4 key购买 nike

我正在检查并删除 SQL 数据库中的重复和冗余索引。

所以如果我有两个相同的索引,我会删除。

例如,如果我删除了重叠的索引...

  • 索引1:品牌、型号
  • 指标二:品牌、型号、价格

  • 我删除索引 1。

    相同顺序但有额外字段的索引呢?
  • 索引1:品牌、型号
  • 指标二:品牌、价格、型号

  • 我可以安全地删除索引 1 吗?

    我的猜测是否定的,但我不确定

    最佳答案

    好吧,当然你可以放弃它;你似乎有权限。但是,索引并不等效。

    例如,第一个将优化此查询:

    where brand = @brand and model = @model

    第二个将能够使用索引,但不是最佳的,因为它不能直接寻找到正确的行。引擎需要扫描所有 @brand索引中的记录以查找匹配的模型。因为这可以在索引本身中完成,所以应该有很好的性能。

    这对您的查询是否重要取决于查询的性质,但索引不是多余的。

    顺便说一下,我认为 MySQL documentation很好地解释了如何使用复合索引(不同的数据库在索引使用上并不完全相同,但它们非常相似)。

    关于SQL 索引 - 这是重叠的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30604471/

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