我可以在全文搜索中使用2个不同的索引吗?

时间:2014-02-27 22:16:00

标签: mysql indexing full-text-search

我对索引的试验并不是很充实,这就是为什么我会问这个愚蠢的问题。我到处搜索,但我没有得到明确的答案。

我将有一个表格items,其中包含以下列:idnamecategoryprice

这将是3个索引:

  1. id - 主要索引
  2. name - FullText Index
  3. category,price - 综合指数
  4. 我估计将来我的桌子会变成700.000-1.000.00行。

    我需要fulltext搜索name,其中category是指定的类别,按price排序。

    所以我的查询是这样的:

    SELECT * FROM items
    WHERE MATCH(name) AGAINST(‘my search’) and category='my category' order by price
    

    我的问题是: 将使用多少索引来执行此搜索?

    它会使用2个索引吗?

    [全文索引]& [类别,价格]索引 - 将获得字词的结果,然后使用下一个索引来匹配我的categoryprice订单

    它将使用1个索引

    [全文索引]仅 - 将获得单词的结果,但之后必须手动匹配我的categoryprice订单 < / p>

    我希望我的查询速度快,你有什么看法?我知道fulltext search很快,但是如果我应用类别和价格顺序等条款会发生什么?会快一点吗?

1 个答案:

答案 0 :(得分:1)

MySQL只会在任何搜索中使用一个索引。原因是使用两个索引需要两次搜索。这将使查询更慢。您可以强制MySQL在查询中使用特定索引,但这不是一个好主意。

总结:MySQL只会使用一个不能使用两个索引的索引。