简单的问题:在查询中添加这样的东西会影响mysql的性能,还是很快就会优化掉?
AND `name` LIKE '%'我这里没有可以测试它的大型数据库。
顺便说一句,我希望这样做是因为我希望用户能够向我的服务器端脚本发送一些参数,然后服务器端脚本获取用户指定的准备好的语句并插入参数。我希望用户在搜索时能够在不影响性能的情况下省略参数,而且LIKE通常相对较慢,对吧?
发布于 2010-12-21 02:59:53
LIKE确实很昂贵,这取决于您在name字段上拥有的索引。你有没有试过衡量你的查询?
EXPLAIN [EXTENDED] SELECT [...] AND `name` LIKE '%'另请参阅http://dev.mysql.com/doc/refman/5.0/en/explain.html
然后,MySQL会提示你它是否已经优化了不必要的LIKE子句away。
发布于 2010-12-21 02:56:22
是。LIKE很贵的。但与大多数事情一样,这取决于数据库的大小。
发布于 2010-12-21 02:57:20
LIKE肯定会影响性能。需要检查的最重要的事情是您是否拥有正确的索引。您对被查询的表有哪些索引?
我怀疑,由于您的LIKE实际上没有做任何事情,它将被优化,但您将需要测试来确认这一点。
https://stackoverflow.com/questions/4492832
复制相似问题