有谁知道哪个更快:
SELECT * FROM table WHERE column LIKE '%text%';
要么
SELECT * FROM table WHERE LOCATE('text',column)>0;
2015年4月20日新增:请同时阅读以下Hallie的回答
第一个,但微不足道。主要是因为它不必进行额外的> 0
比较。
mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar'));
+---------------------------------------------+
| BENCHMARK(100000000,LOCATE('foo','foobar')) |
+---------------------------------------------+
| 0 |
+---------------------------------------------+
1 row in set (3.24 sec)
mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar') > 0);
+-------------------------------------------------+
| BENCHMARK(100000000,LOCATE('foo','foobar') > 0) |
+-------------------------------------------------+
| 0 |
+-------------------------------------------------+
1 row in set (4.63 sec)
mysql> SELECT BENCHMARK(100000000,'foobar' LIKE '%foo%');
+--------------------------------------------+
| BENCHMARK(100000000,'foobar' LIKE '%foo%') |
+--------------------------------------------+
| 0 |
+--------------------------------------------+
1 row in set (4.28 sec)
mysql> SELECT @@version;
+----------------------+
| @@version |
+----------------------+
| 5.1.36-community-log |
+----------------------+
1 row in set (0.01 sec)
问题内容: 我当前的查询如下所示: 我环顾四周,找不到类似于LIKE IN()的东西-我认为它的工作方式如下: 有任何想法吗?我只是以错误的方式思考问题-一些我从未见过的晦涩命令。 MySQL 5.0.77-社区日志 问题答案: 一个REGEXP 可能 会更有效,但你必须对它进行基准测试,以确保,如
问题内容: 我当前的查询如下所示: 我环顾四周,找不到类似于LIKE IN()的东西-我认为它的工作方式如下: 有任何想法吗?我只是以错误的方式思考问题-一些我从未见过的晦涩命令。 MySQL 5.0.77-社区日志 问题答案: 一个REGEXP 可能 会更有效,但你必须对它进行基准测试,以确保,如
问题内容: 是否可以在一个查询中将多个SQL LIKE通配符串在一起-像这样? 目的是查找同时包含通配符但没有特定顺序的记录。 问题答案: 正确的SQL语法是:
问题内容: 我有这个MySQL查询。 我有具有此内容的数据库字段 为什么这样的查询不起作用?我需要体育或酒吧或两者兼有的领域吗? 问题答案: 该列表仅适用于。对于,您必须使用:
喜欢资讯 取消喜欢资讯 资讯喜欢列表 喜欢资讯 POST /news/{news}/likes Response Headers Status: 201 Created 取消喜欢资讯 DELETE /news/{news}/likes Response Headers Status: 204 No Content 资讯喜欢列表 GET /news/{news}/likes Respons
点喜欢 取消喜欢 喜欢的人列表 点喜欢 POST /feeds/:feed/like Response Status: 201 Created { "message": [ "操作成功" ] } 通知类型 { "channel": "feed:digg", // 通知关键字 "target": 325, // 动态id "content": "@2222 点喜欢了