Php 如何使用索引快速实现mysql查询
我在表中有将近25000行的问题,我还有下面的查询。是否可以实现索引以提高查询效率。如果是,请给我一个示例代码。我对每个键都有ajax调用Php 如何使用索引快速实现mysql查询,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我在表中有将近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`); 及
SELECT question, url_question FROM `questions`
WHERE detail LIKE '%a%' OR question LIKE '%a%';
在字段上创建一个全文键,如下所示
ALTER TABLE questions
ADD FULLTEXT KEY `detail` (`IX_detail`);
及
如果您想搜索单个字母,则不可能。
从3开始,您可以使用全文搜索您可以使用MySQL解释功能优化查询-请参阅: 连接到MySQL服务器并执行以下语句:
mysql> EXPLAIN $YOURSTATEMENTGOESHERE;
然后,MySQL将返回此语句影响的所有行/列的有用概览。根据这些信息,您可以添加一些有效的索引
阅读本书还可以更好地了解MySQL如何使用索引。如果可以,请检查搜索长度,如果字符串长度小于2或3,则不发送请求,这将停止不必要的请求,此外,您还可以在sql查询中设置限制。这将提高性能不可能对此类查询使用索引(使用LIKE,只能对前缀搜索进行索引,但您正在搜索字符串中的任何位置)。如果您搜索的是整个单词,可以选择全文搜索。@MichaelMadsen评论不错。你应该将此作为答案发布!
mysql> EXPLAIN $YOURSTATEMENTGOESHERE;