gpt4 book ai didi

mysql - mysql中如何在范围查询中使用复合索引

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

我有一个表“test”,其中包含两个字段:field1 和 field2,以及创建的复合索引 field1_field2(field1, field2)。这是一个sql: select * from test force index(field1_field2) where field1 > 100 and field2 = 2 limit 200

而且它运行得不太好。我解释了一下,发现索引查询只使用了field1条件,field2条件被忽略了......

我想知道为什么,我需要一个完美的答案

有很多 field1 > 100 的数据,还有很多 field2 = 2 的数据

最佳答案

对于那个查询,您需要按那个顺序INDEX(field2, field1)。将 = 列放在索引的前面。一旦到达“范围”(例如 >),这就是将使用的索引的最后一部分。

这是一个Index Cookbook .

关于mysql - mysql中如何在范围查询中使用复合索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40213540/

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