首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >额外的"AND `nname` LIKE '%'“会影响性能吗?

问额外的"AND `nname` LIKE '%'“会影响性能吗?
EN

Stack Overflow用户
提问于 2010-12-21 02:54:16
回答 5查看 158关注 0票数 3

简单的问题:在查询中添加这样的东西会影响mysql的性能,还是很快就会优化掉?

代码语言:javascript
复制
AND `name` LIKE '%'

我这里没有可以测试它的大型数据库。

顺便说一句,我希望这样做是因为我希望用户能够向我的服务器端脚本发送一些参数,然后服务器端脚本获取用户指定的准备好的语句并插入参数。我希望用户在搜索时能够在不影响性能的情况下省略参数,而且LIKE通常相对较慢,对吧?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-12-21 02:59:53

LIKE确实很昂贵,这取决于您在name字段上拥有的索引。你有没有试过衡量你的查询?

代码语言:javascript
复制
EXPLAIN [EXTENDED] SELECT [...] AND `name` LIKE '%'

另请参阅http://dev.mysql.com/doc/refman/5.0/en/explain.html

然后,MySQL会提示你它是否已经优化了不必要的LIKE子句away。

票数 4
EN

Stack Overflow用户

发布于 2010-12-21 02:56:22

是。LIKE很贵的。但与大多数事情一样,这取决于数据库的大小。

票数 0
EN

Stack Overflow用户

发布于 2010-12-21 02:57:20

LIKE肯定会影响性能。需要检查的最重要的事情是您是否拥有正确的索引。您对被查询的表有哪些索引?

我怀疑,由于您的LIKE实际上没有做任何事情,它将被优化,但您将需要测试来确认这一点。

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

https://stackoverflow.com/questions/4492832

复制
相关文章

相似问题

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