mysql 索引 建立索引(a,b,c) 书上说a,b,c a,b a 这三种情况才使用索引

2024-11-23 09:24:09
推荐回答(4个)
回答(1):

书上说的也不是一定对的 针对a,b,c 这三个字段的组合索引 书上说 根据最左前缀原则 只有a ; a,b ; a,b,c 才能使用到索引 后来根据我亲自测试 得出 a,c 也是可以使用在这个组合索引 在网上看了很多人的答案 大部分都是根据书上说的原则的回答 但是往往实时就是出乎我们的意料之外

回答(2):

组合索引 有“最左前缀”原则。简单的理解就是只从最左面的开始组合。并不是只要包含这三列的查询都会用到该组合索引

回答(3):

CREATE [UNIQUE] INDEX ON (字段 [ASC|DESC]);

UNIQUE --确保所有的索引列中的值都是可以区分的。
[ASC|DESC] --在列上按指定排序创建索引。

(创建索引的准则:
1.如果表里有几百行记录则可以对其创建索引(表里的记录行数越多索引的效果就越明显)。
2.不要试图对表创建两个或三个以上的索引。
3.为频繁使用的行创建索引。
)

示例
create index i_1 on emp(empno asc);

回答(4):

都可以 亲测。