gpt4 book ai didi

mysql - 是否有理由不遵循这种级联 SQL 重新索引重构模式?

转载 作者:行者123 更新时间:2023-11-29 12:30:56 25 4
gpt4 key购买 nike

假设确定表的 A,B 列需要复合索引。

该索引已添加。

如果已有复合索引A,C,是否有理由不将其更改为C,A

完成后,如果 C,D,E 上已有索引,是否有理由不将其更改为 D,C,E

一般来说,当添加索引触发此类索引“重构”的机会时,是否有任何理由不继续进行?

最佳答案

ABCD 列过于通用。索引应该与优化表之间的连接以及查询条件最有意义的上下文相关联。举一个简单的订单示例,orderdetail 设置。当然,您希望订单详细信息表上的 header orderID 上有一个索引。

但是现在,在标题上。您有一个 customerID、orderID 和 orderDate。并且您想要查询当天订购的所有客户...或单个客户和订购的所有日期...索引顺序可以通过交换方式显着更好。 (日期,客户)和(客户,日期)第一种情况下的日期/客户不会那么有效。

将索引列的优先级视为这样。你有一个房间,里面装满了盒子。每个框代表一个日期。盒子内是客户订购的。对于第一个查询,没问题,拿到盒子,你有了你的客户,你就完成了。

现在,对第二个查询使用相同的场景。您打开第一个注明日期的盒子并寻找客户...不,不在那里...转到下一个注明日期的盒子,不...第三个,是的,等等...您应该能够看到的重要性数据上下文、查询以及帮助支持它们的索引。

关于mysql - 是否有理由不遵循这种级联 SQL 重新索引重构模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27535175/

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