如何快速搜索多列?

时间:2016-12-22 20:15:49

标签: php mysql performance search indexing

这是我的表:

// tags
+----+-----------+-----------------------------------------+
| id |   name    |               description               |
+----+-----------+-----------------------------------------+
| 1  | function  | some explanations about function ..     |
| 2  | array     | some explanations about arrqay ..       |
| 3  | HTML      | some explanations about HTML ..         |
+----+-----------+-----------------------------------------+

现在我试图制作一个自动完成的框,其中显示了一些标签。这是我目前的代码:

// current value of the input which has been sent by an ajax request
$input_value = $_POST['q'];

// DB connection is here
$stmt = $db->prepare("SELECT name, description
                      FROM tags
                      WHERE name LIKE CONCAT('%', ?, '%') OR  description LIKE CONCAT('%', ?, '%')
                      LIMIT 6");
$stmt->execute(array($input_value,input_value));

但我的疑问变慢了。例如,有时返回结果需要1秒。因为我的表逐渐变大,所以我需要改进我的查询。有什么想法吗?

注意我分别在namedescription列上有两个索引。

0 个答案:

没有答案