首页 > 解决方案 > 如何以最佳方式同时搜索文本和整数数据类型?

问题描述

这是我的查询:

SELECT *
FROM posts 
WHERE user_id = :user_id
  AND MATCH(subject, content) AGAINST(:entry)

看?我需要该整数的索引posts(user_id),而且我在这两列上还有另一个单独的全文索引posts(suject,content)

无论如何,在这种情况下如何制作一个索引以使性能更加优化?

标签: mysqlquery-optimization

解决方案


“文本”和“整数”不是问题。BTree 和 FULLTEXT 是问题所在。

但是问题不大……优化器总是会MATCH...首先选择 FULLTEXT 索引 ( )。如果这会返回适当数量的行,那么进一步的过滤user_id将不会太昂贵。如果user_idPRIMARY KEYof posts,那就更好了。(如果这是WP,那不可能是PK。)

可能你想要AGAINST(:entry IN BOOLEAN MODE)


推荐阅读