SQL 'like' 与 '=' 性能:上下文分析
“like”或“=”哪个性能更好的问题使用 SQL 通配符的问题过去已得到解决,但传统观点是“=”更快。但是,考虑查询的特定上下文非常重要。
在列包含有限数量的固定、硬编码的 varchar 标识符的情况下,任务是选择与其中之一匹配的所有行,看来“喜欢”会有优势。 “Like”只需要测试几个初始字符是否匹配,而“=”必须比较整个字符串。
但是,正如 John Nelson 的一篇文章(存档于https://web.archive.org/web/20150209022016/http://myitforum.com/cs2/blogs/jnelson/archive/2007/11/16/108354.aspx),索引使用'like'的规则细微差别:
因此,'like' 的性能与“=”取决于特定的查询上下文、通配符的位置以及索引的存在。在硬编码标识符数量有限的情况下,通过完整字符串比较,“like”确实可能比“=”执行得更快。但是,评估具体用例并考虑索引优化以确定最佳方法非常重要。
以上是SQL'LIKE”与'=”:什么时候一个比另一个更快?的详细内容。更多信息请关注PHP中文网其他相关文章!