1

在大数据上哪个会更快更好?

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

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

当参数超过 10 时,是否会使较慢的变得更快?

4

2 回答 2

1

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

于 2013-10-07T07:52:27.463 回答
0

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

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

于 2013-10-09T03:44:04.993 回答