Mysql LIKE vs REGEXP有2个或更多param

时间:2013-10-07 07:44:14

标签: mysql regex sql-like

大数据会更快更好吗?

SELECT * FROM 'table' where name LIKE 'micky%' OR name LIKE 'molly%'

SELECT * FROM 'table' where name REGEXP '(^micky | ^molly)'

当参数超过10时,会使较慢的参数变快吗?

2 个答案:

答案 0 :(得分:1)

查询速度取决于数据库结构的索引。 如果'SELECT'查询由索引参数组成,那么你应该使用'LIKE',前提是通配符不是第一个字符。但是如果你的结构中没有索引,那么你可以使用它们中的任何一个。最好测试两种情况下的时间。

答案 1 :(得分:0)

MySQL regexp不会使用索引,但LIKE将使用索引,如果它可以这样做的话。因为在这种情况下,您的搜索不以通配符开头,LIKE将使用索引(如果可用)。

所以答案是,如果你正在搜索它,你应该有一个名字索引,当你这样做时,LIKE在这种情况下会更快。