如何使用索引使mysql查询快速


How make mysql query fast using indexing

我在表中有将近25000行问题,我还有以下查询。是否可以实现索引以提高查询效率。如果是,请给我一个示例代码。我在每个回车键上都有ajax调用。

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

在字段上创建一个全文键,如以下

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

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

如果你想搜索单个字母,那就没办法了
从3开始,您可以使用全文搜索

您可以使用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如何使用索引。

如果可以的话,请检查搜索长度,如果字符串长度小于2或3,则不发送请求,这将停止不必要的请求,此外,您可以在sql查询中设置限制。它将提高的性能