首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非指标与综合指标的使用

非指标与综合指标的使用
EN

Stack Overflow用户
提问于 2017-12-14 07:02:24
回答 1查看 32关注 0票数 0

我有疑问,如果我有3列(名字,姓氏,地址)作为字符串/varchar(255)表。

我有两个列的复合my_idx

代码语言:javascript
复制
CREATE INDEX my_idx ON my_table (firstname,lastname)

如果我使用sql,它会使用我定义的索引吗?

代码语言:javascript
复制
select * from my_table where address="zzz" and firstname="xxxx" and lastname="yyyy"

还是应该首先使用索引列作为最左边的条件?

代码语言:javascript
复制
select * from my_table where  firstname="xxxx" and lastname="yyyy" and address="zzz" 

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-14 07:19:10

首先:如果您在查询前面加上关键字"EXPLAIN“,它将打印出它可能使用的所有索引,以及MySQL选择的索引。据我所知,是的,它将使用索引。查询中字段的顺序与此无关。

重要的是索引中的顺序,但前提是您没有在查询中提供所有字段(或将函数应用于值或使用例如,对字符串的其余部分使用like操作符)。例如,如果只查询lastname,则无法使用索引。如果只查询firstname,则将使用索引。如果查询firstnameaddress,则将使用索引,等等.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47807646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档