如何使用索引快速查询mysql

时间:2012-02-23 12:37:50

标签: php mysql phpmyadmin

我在表问题中有近25000行,我也有以下查询。是否可以实现索引以使查询更有效。如果是这样,请给我一个示例代码。我在每个键输入上都有ajax调用。

SELECT question, url_question FROM `questions` 
WHERE detail LIKE '%a%' OR question LIKE '%a%';

4 个答案:

答案 0 :(得分:1)

在您的字段上创建全文关键字,例如

ALTER TABLE questions
ADD FULLTEXT KEY `detail` (`IX_detail`);

ALTER TABLE questions
ADD FULLTEXT KEY `question` (`IX_question`);

答案 1 :(得分:1)

如果您想搜索单个字母,则无法使用 从3开始,您可以使用全文搜索

答案 2 :(得分:0)

您可以使用MySQL EXPLAIN函数优化查询 - 请参阅:http://dev.mysql.com/doc/refman/5.1/en/using-explain.html

连接到MySQL服务器并执行以下语句:

mysql> EXPLAIN $YOURSTATEMENTGOESHERE;
然后,MySQL会返回有关此语句所有行/列的有用概述。根据这些信息,您可以添加一些有效的索引。

另请阅读http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html以更好地了解MySQL如何使用索引。

答案 3 :(得分:0)

如果可以而且不发送请求,如果字符串长度小于2或3将停止不必要的请求,请继续检查搜索长度,进一步可以在sql查询中设置限制。它会改善表现