注册

全文索引查询效率慢

Airs 2025/07/04 43 0

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: V8 0x7000d
【操作系统】:centos
【CPU】:
【问题描述】*:全文索引查询慢

我的表数据量在200W,因为有针对其中五个字段的检索需求,故在表中新增了一个fulltext_content字段,将五个字段的值拼接到这个fulltext_content新字段中。对该字段进行全文索引的创建:

CREATE CONTEXT INDEX idx_fulltext_search
ON approval_archive_base_info_test(fulltext_content)
LEXER DEFAULT_LEXER SYNC TRANSACTION;

创建完成之后,执行查询,发现执行如下语句的查询时间是1.665s
SELECT *
FROM approval_archive_base_info_test
WHERE CONTAINS(fulltext_content, '"科技"') > 0
LIMIT 100,100;

1.665s的查询时间有点慢了吧,这个效率是正常的吗?

再次测试:
使用like模糊查询,执行时间2.114s
SELECT *
FROM approval_archive_base_info_test
WHERE fulltext_content_noindex LIKE '%审批%'
LIMIT 300000,100

使用全文索引的查询,执行时间3.008s
SELECT *
FROM approval_archive_base_info_test
WHERE CONTAINS(fulltext_content, '审批')
LIMIT 300000,100;

为什么使用全文索引的查询比我使用模糊查询的效率还要低呢?

回答 0
暂无回答
扫一扫
联系客服