gpt4 book ai didi

MySQL - 索引,字段顺序

转载 作者:搜寻专家 更新时间:2023-10-30 23:39:12 24 4
gpt4 key购买 nike

我的数据库越来越大,所以我决定添加索引(以前从未这样做过)。所以我需要一些建议。例如

SELECT field1, field2 

FROM mytable1

WHERE account_id = :account_id and product_id = :product_id and version_name = :version_name

SELECT field1, field2 

FROM mytable1

WHERE version_name = :version_name and and product_id = :product_id and account_id = :account_id

一个账户可以有很多产品,产品可以有数百万个版本,select order in where 速度更快。 version_name 是一个字符串。

如果我有可用的 version_id 这是主键,我应该总是把它放在第一位。

我应该在account_id和product_id上加索引吗

是否获取where中第一个条件的所有行,然后根据第二个条件过滤结果等等

如果没有添加索引,它会扫描所有三个字段的每一行

最佳答案

子句的顺序无关紧要。重要的是索引中字段的顺序:如果您有一个关于 1.account_id、2.product_id 的索引,该索引将仅在 WHERE 子句中有 account_id 时使用。

对于您的查询,您可以在 account_idproduct_idversion_name 上放置一个索引。

关于MySQL - 索引,字段顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37215221/

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