我有一个包含超过五百万条记录的大型数据库,这个数据库有三个字段(ID、名称、文本),该字段ID
有一个主键,该字段name
有一个FULLTEXT
索引。
我想为我的网站创建一个在字段中搜索的搜索引擎name
,我使用FULLTEXT
索引但缺点是不接受少于四个字符的关键字,所以我决定删除它并INDEX KEY
在字段上放一个name
并使用以下内容要求:
EXPLAIN SELECT * FROM table WHERE locate ('search', name) > 0;
问题是这个应用程序没有使用索引 KEY 字段名称,但是这个请求:
EXPLAIN SELECT name FROM table WHERE locate ('search', name) > 0;
使用INDEX KEY
,不知道为什么当我选择所有字段时 MYSQL 不使用索引。
在您看来如何解决这个问题,如果可能的话,一个更好的选择。