

a,
b)字段上面创建联合索引,存储结构类似下面这样:

a字段排序,
a字段的值相等时再按
b字段排序。
a字段的值是全局有序的,
b字段的值是全局无序的,只有在
a字段的值相等时才呈现出局部有序。
SELECT * FROM test WHERE a = 1 and b = 1 and c = 1;
a,
b,
c),其实答案是6个,abc三个的排列组合,(
a,
b,
c)、(
a,
c,
b)、(
b,
a,
c)、(
b,
c,
a)、(
c,
a,
b)、(
c,
b,
a)。
SELECT * FROM test WHERE a = 1 and b > 1 and c = 1;
a,
c,
b)和 (
c,
a,
b)。
a,
c,
b)和 (
c,
a,
b)索引的时候,查询会用到3个字段的索引,效率更高。

SELECT * FROM test WHERE a in (1,2,3) and b > 1;
a,
b)。in条件查询会被转换成等值查询,可以验证一下:

更多精彩内容,关注我们▼▼
文章转载自数据与人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





