小编Mr *_*ain的帖子

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

我有一张桌子?

create table test (
   field1 bigint,
   field2 bigint
);

alter table test 
add index field1_field2 (field1, field2)
Run Code Online (Sandbox Code Playgroud)

这是一个sql:

select * 
from test 
    force index(field1_field2)
where field1 > 100 
  and field2 = 2 
limit 200 ;
Run Code Online (Sandbox Code Playgroud)

它运行得不是很好。我解释了一下,发现只有field1索引查询使用的条件,field2条件被忽略了。

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

有很多数据field1 > 100和很多数据field2 = 2

mysql performance index query-performance

2
推荐指数
1
解决办法
4405
查看次数

标签 统计

index ×1

mysql ×1

performance ×1

query-performance ×1